使用数组作为Subscript Indice来访问矩阵中的元素

时间:2012-07-12 16:21:48

标签: matlab

我想使用存储在另一个数组中的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作整数。有没有更好的方法在单行代码中创建这样的数组?

1 个答案:

答案 0 :(得分:3)

您可以尝试:

new_array=squeeze(matrix(X,Y,1:Z));