转身未来 发表于 2019-10-9 15:46:50

MATLAB 一二三维矩阵之间转换


低维转高维
  使用reshape函数,执行如下操作:
%% 维度转换
A=1:12;

% 一维转二维
B2=reshape(A,)
>>B2 =
   1   7
   2   8
   3   9
   4    10
   5    11
   6    12

% 一维转三维
B3=reshape(A,)
>>B3(:,:,1) =
   1   3
   2   4
B3(:,:,2) =
   5   7
   6   8
B3(:,:,3) =
   9    11
    10    12

% 二维转三维
C3=reshape(B2,)
>>C3(:,:,1) =
   1   3
   2   4
C3(:,:,2) =
   5   7
   6   8
C3(:,:,3) =
   9    11
    10    12


高维转低维
% 三维转二维
A=rand(3,3,3);
A1 = A(:,:,2); % 3*3 二维
A2 = A(:,2,:); % 3*1*3 三维
A3 = A(2,:,:); % 1*3*3 三维
% 将三维转为 81*81 二维
A22 = reshape(A2,3,3);
A32 = reshape(A3,3,3);

% 三维转一维
B1=reshape(A,1,[]);

% 二维转一维
C1=reshape(A22,1,[]);

karstification 发表于 2019-10-9 16:30:31

谢谢你的分享
页: [1]
查看完整版本: MATLAB 一二三维矩阵之间转换