复制和排列在4D



X1X2X3X4分别为大小为[1xN1][1xN2][1xN3][1xN4]的行向量。我想复制和旋转这些行向量,以获得4个相应的4D数组A1, A2, A3A4,大小为[N1xN2xN3xN4]X1对应A11st维,X2对应A22nd维,X3对应A33rd维,X4对应A44th维。例如,我可以获得A1A2如下

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);

注意A1A2是如何根据x2x1排序的,因为ndgridmeshgrid在功能上略有不同。

相关内容

  • 没有找到相关文章

最新更新