Matlab:绘制存储为一列的x,y,z值

时间:2013-01-28 02:45:35

标签: matlab matrix

我应该如何在Matlab中完成this plotting task任务?

谢谢。

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

此致

ikel

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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

希望有所帮助

答案 2 :(得分: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);