1

我应该如何在 Matlab 中完成这个绘图任务任务?

谢谢你。

编辑:我要问的是当数据在一列中时如何在 Matlab 中绘图,如上面给出的链接中所述。

问候,

伊克尔

4

3 回答 3

4

您可以reshape转置矩阵并提取列:

vec = [1 2 3 4 5 6 7 8 9 10 11 12]';
reshaped_mat = reshape(vec,3,[])';

reshaped_mat最终会看起来像这样:

 1     2     3
 4     5     6
 7     8     9
10    11    12

您可以按如下方式提取列:

x = reshaped_mat(:,1);
y = reshaped_mat(:,2);
z = reshaped_mat(:,3);
于 2013-01-28T03:24:51.797 回答
2

你可以试试这样的>

例如:A=[1 2 3; 4 5 6;7 8 9]

A'将会

     1     4     7
     2     5     8
     3     6     9

首先进行转置,

B = A'

并将其转换为单列,

B(:)会给

ans =

     1
     2
     3
     4
     5
     6
     7
     8
     9

希望能帮助到你

于 2013-01-28T03:02:30.663 回答
2

懒惰用户的另一个选择:给定一个向量v

 v = [1 2 3 4 5 6 7 8 9 10 11 12];

因为我们知道元素是这样的[x1,y1,z1,x2,y2,z2,...],所以绘图x,y,z可能需要plot3,所以这就是它可以直接完成的方式:

 plot3(v(1:3:end),v(2:3:end),v(3:3:end)) 

其中条目相当于

 x=v(1:3:end);
 y=v(2:3:end);
 z=v(3:3:end);
于 2013-01-28T08:51:37.180 回答