MATLAB改变矩阵维度(2种方法)
矩阵的变维可以用冒号法和函数法。
【实例 1】修改矩阵维度。
MATLAB 程序如下:
在 MATLAB 中,permute() 函数用来置换矩阵维度,该函数的调用格式及说明如下表所示。
【实例 2】将向量重构为矩阵。
MATLAB 程序如下:
1、冒号法
用符号“:”设置矩阵维度的格式为:A(:)=B(:)
【实例 1】修改矩阵维度。
MATLAB 程序如下:
>> clear % 清除工作区的变量 >> A=1:12 % 创建一个行向量 A = 1 2 3 4 5 6 7 8 9 10 11 12 >> C=zeros(3,4); % 用冒号法必须先设定修改后矩阵的形状 >> C(:)=A(:) % 将矩阵维度变换为3行4列 C = 1 4 7 10 2 5 8 11 3 6 9 12
2、函数法
在 MATLAB 中,reshape() 函数用于重新设置矩阵的维度,该函数的调用格式及说明如下表所示。调用格式 | 说 明 |
---|---|
B = reshape(A, sz) | 将 A 重构为向量 sz 指定大小的矩阵 |
B = reshape(A, sz1, ..., szN) | 将矩阵 A 变维成一个 sz1x...x szN 矩阵,其中 sz1, … , szN 指示每个维度的大小 |
在 MATLAB 中,permute() 函数用来置换矩阵维度,该函数的调用格式及说明如下表所示。
调用格式 | 说 明 |
---|---|
B = permute(A, dimorder) | 按照维度顺序行向量 dimorder 指定的顺序重新排列矩阵的维度 |
【实例 2】将向量重构为矩阵。
MATLAB 程序如下:
>> clear % 清除工作区的变量 >> A = 1:6 % 创建一个行向量 A = 1 2 3 4 5 6 >> B = reshape(A,[2,3]) % 将A变维成3×3的矩阵 B = 1 3 5 2 4 6 >> C=permute(B,[2 1]) % 交换矩阵B的行和列维度 C = 1 2 3 4 5 6