设X1
、X2
、X3
、X4
分别为大小为[1xN1]
、[1xN2]
、[1xN3]
、[1xN4]
的行向量。我想复制和旋转这些行向量,以获得4个相应的4D数组A1
, A2
, A3
和A4
,大小为[N1xN2xN3xN4]
。X1
对应A1
的1st
维,X2
对应A2
的2nd
维,X3
对应A3
的3rd
维,X4
对应A4
的4th
维。例如,我可以获得A1
和A2
如下
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]
数组。你对此有什么想法吗?提前感谢您的帮助。
老爷
你看过ndgrid
吗?
[A2 A1 A3 A4] = ndgrid(x2, x1, x3, x4);
注意A1
和A2
是如何根据x2
和x1
排序的,因为ndgrid
和meshgrid
在功能上略有不同。