
- 矩阵的建立
两种方法:
(1)直接建立自己想要的矩阵
(2)通过已有的子矩阵合成为一个大的矩阵。
For example:
>> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> B=[1 2;5 6];
>> C=[3 4;7 8];
>> D=[9 10;13 14];
>> E=[11 12;15 16];
>> F=[B C;D E]
F =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
1.1 结构矩阵的建立
结构矩阵:结构数据类型可以把一组数据类型不同,而逻辑上相关的数据组成一个整体。其中每一个数据都是这个整体中的一个成员。
建立格式: 结构矩阵元素.成员名=表达式
建立一个学生信息表
For example:
>> A(1).xuehao=1;A(1).name='xiao ming'; A(1).mask=[89 87 86];
>> A(2).xuehao=2;A(2).name='xiao hong'; A(2).mask=[97 85 86];
>> A(3).xuehao=3;A(3).name='xiao hua'; A(3).mask=[68 99 92];

1.2单元矩阵的建立
与结构矩阵的相同点:都是把不同类型数据放在同一个矩阵中。
与结构矩阵的不同点:结构矩阵的各个元素下还有成员,每个成员都有自己的名字。而单元矩阵的元素就是不同类型的数据
建立格式:与一般矩阵相似,只是最后用大括号括起来。
For example:
>> A={1 'xiao ming' [91 92 93];2 'xiao hong' [91 92 98];1 'xiao bing' [99 92 93]}
A =
[1] 'xiao ming' [1x3 double]
[2] 'xiao hong' [1x3 double]
[1] 'xiao bing' [1x3 double]
2.矩阵元素的引用
2.1引用矩阵中单个元素
A(3,2)表示A矩阵第三行第二列的元素
用法:
(1)调用矩阵中的某一个元素
(2)也可以把某一个值赋给矩阵某一位置的元素
For example:
>> A=[1 2 3;4 5 6;7 8 9];
>> A(3,1)
ans =
7
>> A(3,1)=21
A =
1 2 3
4 5 6
21 8 9
在matlab中,矩阵元素按列储存,即首先储存矩阵的第一列元素,然后储存第二列元素。。。。。
矩阵元素的序号就是矩阵元素在内存中的排列顺序。
For example:
>> A=[1 2 3;4 5 6;7 8 9];
>> A(5)
ans =
5
2.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行的全部元素
For example:
>> 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,:)
ans =
6 7 8 9 10
>> A(:,2)
ans =
2
7
12
>> A(1:2,2:5)
ans =
2 3 4 5
7 8 9 10
2.3改变矩阵形状
(1)reshape(A,m,n) : 在矩阵总元素保持不变的前提下,将矩阵A重新排列成m*n的二维矩阵。
注:只改变原矩阵行数与列数,不改变原矩阵元素个数及储存顺序。
For example:
>> x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18];
>> y=reshape(x,3,6)
y =
1 4 7 10 13 16
2 5 8 11 14 17
3 6 9 12 15 18
(2)A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量
For example:
>> x=[1 2 ;3 4];
>> y1=x(:)
y1 =
1
3
2
4