我在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是我想要的矩阵。
由于
答案 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)];