如何解决在 matlab 中将 3D 重塑为 2D 并再次返回
我有 3D 数据 64X148X2466,我想将其中的数据重塑为 2D:9472X2466,对其进行一些操作,然后将数据带回原来的 64X148X2466 数组。当我尝试将其恢复时,我尝试过的所有内容都会混合列或行,例如:
y = reshape(Z,[],2466)';
z = reshape(y,64,1484,2466); %this mixes some of the columns up,and permute is unsatisfactory too.
例如,Z 是一个 3X4X2 的数组:
val(:,:,1) =
-1643 -1233 -1613 -1828
-1300 -1640 -1890 -1646
-1426 -1773 -1379 -2089
val(:,2) =
-1025 -1260 -1383 -1709
-1553 -1241 -1450 -1882
-1185 -1408 -741 -1620
y = reshape(Z,2)'; %给我:
-1643 -1300 -1426 -1233 -1640 -1773 -1613 -1890 -1379 -1828 -1646 -2089
-1025 -1553 -1185 -1260 -1241 -1408 -1383 -1450 -741 -1709 -1882 -1620
%这很好,但是
z = reshape(y,2466); %这给了我:
val(:,1) =
-1643 -1553 -1233 -1241
-1025 -1426 -1260 -1773
-1300 -1185 -1640 -1408
val(:,2) =
-1613 -1450 -1828 -1882
-1383 -1379 -1709 -2089
-1890 -741 -1646 -1620
% 这不好。我需要返回原始数组结构。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。