我想使用存储在另一个数组中的z坐标从3D矩阵中的元素创建一个数组。 最简单的方法是:
X=2;
Y=3;
lastZ=10000000
for i=1:lastZ
new_array=matrix(X,Y,Z(i));
end
但我正在寻找一种仅使用矩阵而不是 for-loop 的“矢量化”方式。我尝试了下面的代码,但是我收到一条错误消息“下标索引必须是真正的正整数或逻辑”:
new_array=matrix(X,Y,Z);
我知道Z是一个数组,不能用X和Y作整数。有没有更好的方法在单行代码中创建这样的数组?
答案 0 :(得分:3)
您可以尝试:
new_array=squeeze(matrix(X,Y,1:Z));