0

X1, X2, X3,分别是大小为, ,和X4的行向量。我想复制和旋转这些行向量以获得 4 个对应的 4D数组,和size 。对应于 的维度,对应于 的维度,对应于 的维度,对应于 的维度。例如,我可以得到和如下[1xN1][1xN2][1xN3][1xN4]A1A2A3A4[N1xN2xN3xN4]X11stA1X22ndA2X33rdA3X44thA4A1A2

A1=repmat(X1',[1 N2 N3 N4]);
A2=repmat(X2,[N1 1 N3 N4]);

A3可以使用以下“业余”代码获得

A3Temp=repmat(X3,[N2 1 N1]); % [N2xN3xN1] array
A3TempRot=rot90_3D_2t(A3Temp,2,3,1,1); % Rotate 2 times to obtain [N1xN2xN3] array
A3=repmat(A3TempRot,[1 1 1 N3]);

对于A4,我不知道该怎么办。之后,我想旋转这些数组以获得[N4xN2xN3xN1]数组。你对此有什么想法吗?预先感谢您的帮助。

4

1 回答 1

1

你看过ndgrid吗?

[A2 A1 A3 A4] = ndgrid(x2, x1, x3, x4);

由于和之间的功能略有不同,请注意A1A2的排序方式。x2x1ndgridmeshgrid

于 2013-06-03T20:07:57.580 回答