2020-11-01 MATLAB学习小结(二)

MATLAB矩阵的表示

1.矩阵的建立

直接输入法:
例如 输入A[1,2,3;4,5,6;7,8,9]后屏幕会呈现出一个三行三列的矩阵:
2020-11-01 MATLAB学习小结(二)
可以用已经建立的小矩阵建立更大的矩阵:
例如 输入:
A=[1,2,3;4,5,6;7,8,9];
B=[-1,-2,-3;-4,-5,-6;-7,-8,-9];
C=[A,B;B,A]
屏幕输出的内容为:
2020-11-01 MATLAB学习小结(二)

可以用实部矩阵和虚部矩阵构成复数矩阵:
例如:输入
B=[1,2,3;4,5,6];
C=[6,7,8;9,10,11];
A=B+i*C
屏幕输出的内容为:
2020-11-01 MATLAB学习小结(二)

2.冒号表达式
格式:e1:e2:e3
e1表示初始值,e2表示步长,e3表示终止值。
(省略步长e2,则步长为1。例如:t=0:5与t=0:1:5等价)
例子:
2020-11-01 MATLAB学习小结(二)
格式:linspace(a,b,n)
a表示第1个元素,b表示最后元素,n表示元素总数
(当n省略时,自动产生100个元素)
例子:2020-11-01 MATLAB学习小结(二)
3.结构矩阵和单元矩阵

(1)结构矩阵
由结构数据构成的矩阵就是结构矩阵,结构矩阵里的每个元素就是结构数据类型。
格式:
结构矩阵元素.成员名=表达式。

(2)单元矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。

矩阵元素的引用

1.矩阵元素的引用方式

(1)通过下标来引用矩阵的元素
A(3,2)表示A矩阵第3行第2列的元素。

(2)通过序号来引用
在MATLAB中,矩阵元素按列存储,即首先存储矩阵的第一列元素,然后存储第二列元素,…,一直到矩阵的最后一列元素。
矩阵元素的序号就是矩阵元素在内存中的排列顺序。
例如:在A[1,2,3;4,5,6]两行三列矩阵中,A(3)为第一行第二列的元素,即2。

(3)sub2ind函数和ind2sub函数
sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。
调用格式为:D=sub2ind(S,I,J)
D表示序号,S表示行数和列数组成的向量,I表示转换矩阵的行下标,J表示转换矩阵的列标。
ind2sub函数:将把矩阵元素的序号转换成对应的下标。
调用格式为: [I,J]=ind2sub(S,D)
I表示行下标,J表示列下标,S表示行数和列数组成的向量,D表示序号。
2.利用冒号表达式获得子矩阵
(子矩阵是指由矩阵中的一部分元素构成的矩阵)
A(i,:)表示第i行的全部元素
A(:,j)表示第j列的全部元素
A(i:i+m,k:k+m)表示第i ~ i+m行内且在第k ~ k+m列中的所有元素
A(i:i+m,:)表示第i ~ i+m行的全部元素
end运算符:表示某一维的末尾元素下标。
3.利用空矩阵删除矩阵的元素
空矩阵是指没有任何元素的矩阵。
2020-11-01 MATLAB学习小结(二)
4.改变矩阵的形状
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
(注意:reshape函数只改变原矩阵的行数和列数,但不改变矩阵元素个数和存储顺序。)