一、创建矩阵
首先,我们需要学会创建矩阵,方法如下
1、一般矩阵
a=[2 3 5 2;6 3 4 5;2 5 6 3;3 5 7 8]
说明:a为矩阵名;矩阵内容用 “ [ ] ” 括起来;矩阵的每一行用 “ ; ” 隔开;每一行的各个元素之间用 “空格”或 “逗号” 隔开。
a =
2 3 5 2
6 3 4 5
2 5 6 3
3 5 7 8
2、元素全为 “ 1 ” 的矩阵(ones)
b=ones(i,j)
其中b为矩阵名,i 和 j 为矩阵的维度,i 为行数,j 为列数
b=ones %创建一个1*1矩阵,元素为1
b=ones(i) %创建一个 i 维方阵
*元素为0的矩阵同理,函数为zeros(i,j)
3、单位矩阵(eye)
c=eye(i)
矩阵 c 为 i 维单位矩阵
例如
>>c=eye(3)
c =
1 0 0
0 1 0
0 0 1
特殊地有如
>> c=eye //返回1
c =
1
>> c=eye(2,3) //返回主对焦线为1,其余元素为0
c =
1 0 0
0 1 0
二、基于一个矩阵的操作
首先创建一个矩阵A
A =
2 8 6 3
6 5 2 4
7 9 3 8
5 2 7 8
1、矩阵求和(sum)
(1)按列求和(对矩阵中所有的列分别求和),命令:>> sum(A)
也可以表示为:
>> sum(A,1)
**其中参数“ 1 ”表示对矩阵的列进行操作得到结果:
ans =
20 24 18 23
(2)对第 i 到 j 行按列求和
>> sum(A(i:j,d:k),1)
** “ i : j "表示从第 i 行到第 j 行,接着还有一个参数 “ d : k ” 表示从第 d 到 k 列按列求和。如果A()中第二个参数为 “ : ” 时代表全部列均求和,如:
>> sum(A(2:4,1:3),1)
ans =
18 16 12
>> sum(A(2:4,:),1)
ans =
18 16 12 20
(3)按行求和,其操作与按列求和类似,只是将sum的第二个参数有“ 1 ” 改为 ” 2 “ %8如
//按行求和
>> sum(A,2)
ans =
19
17
27
22
//第 d 到 k 行求第 i 到 j 列的和
>> sum(A(2:4,1:3),2)
ans =
13
19
14
>> sum(A(:,1:3),2)
ans =
16
13
19
14
(3)对矩阵整体求和
>> sum(A(:))
结果:
ans =
85
2、对矩阵中每一个元素执行相同的运算
(1)四则运算
>> A+2
ans =
4 10 8 5
8 7 4 6
9 11 5 10
7 4 9 10
**减、乘、除运算同理(2)三角函数
>> sin(A)
ans =
0.9093 .9894 -0.2794 0.1411
%2 -0.2794 -0.9589 0.9093 -0.7568
0.6570 0.4121 0.1411 0.9894
-0.9589 0.9093 0.6570 0.9894
**cos、tan、sec 等三角函数同%%7
(3)矩阵的转置,命令:
>> A'
ans =
2 6 7 5
8 5 9 2
6 2 3 7
3 4 8 8
3、改变矩阵中某一个元素的值
A(i,j)=m
其中 i 和 j 分别表示矩阵中的行和列,m为矩阵第 i 行第 j 列的新值。如:
>> A(2,3)=0
A =
2 8 6 3
6 5 0 4
7 9 3 8
5 2 7 8
矩阵第二行第三列的元素,由2变为0。
(1)直接为矩阵维度之外的元素赋值扩展矩阵维度,除被赋值的新元素外,其余新增加的元素均默认为0。如:
>> A(5,5)=4
A =
2 8 6 3 0
6 5 2 4 0
7 9 3 8 0
5 2 7 8 0
0 0 0 0 4
(2)矩阵串联也可以增加矩阵的维度(串联运算符 " [ ] ")
>> S=[A,A]
S =
2 8 6 3 2 8 6 3
6 5 2 4 6 5 2 4
7 9 3 8 7 9 3 8
5 2 7 8 5 2 7 8
>> S=[A;A]
S =
2 8 6 3
6 5 2 4
7 9 3 8
5 2 7 8
2 8 6 3
6 5 2 4
7 9 3 8
5 2 7 8
**水平串联用逗号,垂直串联连用分号。注意:水平串联的两个矩阵需要有相同的行数,垂直串联两个矩阵需要有相同的列数。