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
ICP备案:
公安联网备案: