1.4矩阵的表示
1.矩阵的几种表示方法
>> A=[1 2 3;4 5 6;7 8 9]//例如1和2之间可以是空格,也可以是逗号
A =
1 2 3
4 5 6
7 8 9
>> B=[-1 -2 -3;-4 -5 -6;-7 -8 -9]
B =
-1 -2 -3
-4 -5 -6
-7 -8 -9
>> C=[A B;B A]//矩阵可以组合表示
C =
1 2 3 -1 -2 -3
4 5 6 -4 -5 -6
7 8 9 -7 -8 -9
-1 -2 -3 1 2 3
-4 -5 -6 4 5 6
-7 -8 -9 7 8 9
>> B=[1 2 3;4 5 6]
B =
1 2 3
4 5 6
>> C=[6 7 8;9 10 11]
C =
6 7 8
9 10 11
>> A=B+i*C//从这里可以看出:数值变量*矩阵=数值变量*矩阵中每一个元素
A =
1.0000 + 6.0000i 2.0000 + 7.0000i 3.0000 + 8.0000i
4.0000 + 9.0000i 5.0000 +10.0000i 6.0000 +11.0000i
2.冒号表达式(非常重要)
>> T=0:1:5//初始值:步长:终止值
T =
0 1 2 3 4 5
>> T=0:5//步长默认是1
T =
0 1 2 3 4 5
3.linspace函数
>> X=linspace(0,pi,6)//linspace(初始值, 终止值, 变量个数)
X =
0 0.6283 1.2566 1.8850 2.5133 3.1416
4.结构矩阵
1,2,3是元素,x1,x2,x3是成员变量
>> a(1).x1=10;a(1).x2='liu';a(1).x3=[11 21;34 78];
>> a(2).x1=12;a(2).x2='wang';a(2).x3=[34 191;27 578];
>> a(3).x1=14;a(3).x2='cai';a(3).x3=[13 890;67 231];
>> a
a =
1x3 struct array with fields:
x1
x2
x3
1.5矩阵元素的引用
1.A(x,y)和A(x)
A=[1 2 3;4 5 6];
>> A(4,5)=10//没有(4,5)这个元素,但是不会报错
A =
1 2 3 0 0
4 5 6 0 0
0 0 0 0 0
0 0 0 0 10
>> A(3) //A(3)中的3是指序列号(按列),m*n的矩阵对应序列号是(j-1)*m+i
ans =
0
>> A(10)
ans =
6
2. A(x,y)和A(x)的转化
>> A=[1:3;4:6]//此处用了冒号表达式
A =
1 2 3
4 5 6
>> D=sub2ind(size(A),[1 2;2 2],[1 1;3 2])// sub2ind:将下标转化成序列号
D =
1 2
6 4
>> [i,j]=ind2sub(size(A),2)//将序列号转换成下标
i =
2
j =
1
3 .冒号表达式引用矩阵元素
>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
>> A(1:2,:)//:表示全体
ans =
1 2 3 4 5
6 7 8 9 10
>> A(2:3,1:2:5)//1:2:5代表第1,3,5列
ans =
6 8 10
11 13 15
>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20];
>> A(end,:)//end代表最后一行或者列
ans =
16 17 18 19 20
4.删除矩阵元素
>> A=[]//将元素全部删除
A =
[]
>> A=[1 2 3 0 0;7 0 9 2 6;1 4 -1 1 8]
A =
1 2 3 0 0
7 0 9 2 6
1 4 -1 1 8
>> A(:,[2,4])=[]//将第2,4列的全部元素删除
A =
1 3 0
7 9 6
1 -1 8
5.改变矩阵的m*n=p*q
>> B=reshape(A,1,9)
B =
1 7 1 3 9 -1 0 6 8
>> C=A(:)//代表将元素在一列表示出来,在理解下标和序列号时用
C =
1
7
1
3
9
-1
0
6
8