MATLAB 一二三维矩阵之间转换

MATLAB 一二三维矩阵之间转换

  • MATLAB 一二三维矩阵之间转换
  • 低维转高维
  • 高维转低维

前言:今天总结一下MATLAB一二三矩阵或数组之间的转换。

低维转高维

  使用reshape函数,执行如下操作:

%% 维度转换
A=1:12;

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

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

% 二维转三维
C3=reshape(B2,[2,2,3])
>>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,[]);

你可能感兴趣的:(MATLAB)