如何在不知道大小的情况下绘制matlab中的所有矩阵元素?
How to plot all the matrix elements in matlab whitout knowing the size?
假设有下一个矩阵
A = [ 1 2 2 ;
1 2 3 ;
2 3 4 ;
3 4 5 ;
4 4 6 ;
1 11 12]
我尝试使用 quiver3 按以下方式绘制行:
quiver3(0,0,0,A(1:1),A(1:2),A(1:3),0);
quiver3(0,0,0,A(2:1),A(2:2),A(2:3),0);
quiver3(0,0,0,A(3:1),A(3:2),A(3:3),0);
依此类推直到最后一行,但是如何为矩阵的每一行应用 quiver3 而不是每行一行?
此外,矩阵的大小并不总是相同,因此每行一个命令会产生一些行而有时不绘制,并且可能没有足够的行来绘制其他 .
(示例:提供的矩阵有 6 行,所以我制作了 6 个 quiver3 表达式,但稍后如果矩阵只有 3 行,它会给我一个错误,如果稍后它有 8 行,就会有 2 vectors/row未绘制)。
我猜它与范围和网格运算符有关,但我看不出如何。
如果您的矩阵 A
有 N
行,其中每行存储要传递给 quiver3
的 [u v w]
个分量,那么您可以绘制所有 N
一次调用 quiver3
中的箭头,前提是您确保所有输入参数的大小相同。如果您从原点开始绘制所有这些,那么您必须创建一个 N
-by-1 零向量以用于您的 x
、y
和 z
输入:
A = [1 2 2;
1 2 3;
2 3 4;
3 4 5;
4 4 6;
1 11 12];
z = zeros(size(A, 1), 1);
quiver3(z, z, z, A(:, 1), A(:, 2), A(:, 3), 0);
请注意我用来将 A
拆分成列以传递给 quiver3
的 indexing 语法。这是给定样本数据的结果图:
假设有下一个矩阵
A = [ 1 2 2 ;
1 2 3 ;
2 3 4 ;
3 4 5 ;
4 4 6 ;
1 11 12]
我尝试使用 quiver3 按以下方式绘制行:
quiver3(0,0,0,A(1:1),A(1:2),A(1:3),0);
quiver3(0,0,0,A(2:1),A(2:2),A(2:3),0);
quiver3(0,0,0,A(3:1),A(3:2),A(3:3),0);
依此类推直到最后一行,但是如何为矩阵的每一行应用 quiver3 而不是每行一行?
此外,矩阵的大小并不总是相同,因此每行一个命令会产生一些行而有时不绘制,并且可能没有足够的行来绘制其他 .
(示例:提供的矩阵有 6 行,所以我制作了 6 个 quiver3 表达式,但稍后如果矩阵只有 3 行,它会给我一个错误,如果稍后它有 8 行,就会有 2 vectors/row未绘制)。
我猜它与范围和网格运算符有关,但我看不出如何。
如果您的矩阵 A
有 N
行,其中每行存储要传递给 quiver3
的 [u v w]
个分量,那么您可以绘制所有 N
一次调用 quiver3
中的箭头,前提是您确保所有输入参数的大小相同。如果您从原点开始绘制所有这些,那么您必须创建一个 N
-by-1 零向量以用于您的 x
、y
和 z
输入:
A = [1 2 2;
1 2 3;
2 3 4;
3 4 5;
4 4 6;
1 11 12];
z = zeros(size(A, 1), 1);
quiver3(z, z, z, A(:, 1), A(:, 2), A(:, 3), 0);
请注意我用来将 A
拆分成列以传递给 quiver3
的 indexing 语法。这是给定样本数据的结果图: