0

x,y,z 是三个向量。

如果我在每次迭代时在 matlab 和 stock 中运行三个 for 循环A(i,j,k) = [x(i) y(j) z(k)],那么我将得到一个数组。

创建这个数组的最有效方法是什么?

4

1 回答 1

1

您在问题 ( A(i,j,k) = [x(i) y(j) z(k)]) 中使用的符号有一个错误。它创建了一个 3D 矩阵 A 并尝试为其 (i,j,k) 元素分配一个值,只有您分配了 3 个值 (x(i),y(j),z(k))。

因此,如果我理解正确,您的意思是:

A = [x(:) , y(:),  z(:)] ;

这将给出大小为 3xn 的数组。除非您实际上打算拥有一个 3d 矩阵,否则请查看ndgrid\meshgrid选项。

于 2013-10-30T21:16:08.977 回答