在matlab中将3个1xN阵列读入3xN矩阵

时间:2015-02-04 22:52:52

标签: arrays matlab matrix

我在matlab中有3个数组,分别是1xN,X Y Z.我需要分别将这些数组读入3xN矩阵,所以我得到

x1 y1 z1 
x2 y2 z2
.. .. ..
xn yn zn

我目前在Nx 3矩阵中得到了数据,这是错误的。我的代码是

X = [];
Y = [];
Z = [];
for ctr = 1:length(A)
    X = [X A(ctr,1)];
    Y = [Y A(ctr,2)];
    Z = [Z A(ctr,3)];
end

M = [X;Y;Z];

其中A是来自624 * 600双单元格的输入数据,M是我想要的矩阵。

由于

2 个答案:

答案 0 :(得分:1)

我刚刚发现您可以使用Mt = transpose(M);进行转置,该{{1}}具有总体预期结果,但感觉就像是左转的3个权利。

答案 1 :(得分:1)

我想你想要那个:

X = [];
Y = [];
Z = [];
for ctr = 1:length(A)
  X(end+1, 1) = A(ctr,1);
  Y(end+1, 1) = A(ctr,2);
  Z(end+1, 1) = A(ctr,3);
end

M = [X Y Z];

使用1行代码更快:

M = [A(:, 1) A(:, 2) A(:, 3)];