第五课 MATLAB 矩阵的表示
文章目录
矩阵是 matlab 中最基本的数据对象,matlab 的大部分计算或命令都是在矩阵运算意义下执行的。在 matlab 中,矩阵的使用非常灵活,不需要对矩阵的维数和类型进行说明,就会根据用户输入的内容自动进行设置。
一、 矩阵的建立
利用直接输入法建立矩阵
将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔。
>> A=[1 2 3;4 5 6;7 8 9]
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
利用已建好的矩阵建立更大的矩阵
一个大矩阵可以由已经建立好的小矩阵拼接而成。
在上面的代码基础上进行继续输入命令
>> B=[-1,-2,-3;-4,-5,-6;-7,-8,-9]
B =
-1 -2 -3
-4 -5 -6
-7 -8 -9
(这里更改 B 数组是为了更好的区分)
>> 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
(这里可以看出,数组 A、B 合成了数组 C)
用实部矩阵和虚部矩阵构成复数矩阵
-
输入命令,清除前面的数据
>> clear
-
用实部矩阵和虚部矩阵构成复数矩阵
>> B=[1,2,3;4,5,6]; >> C=[7,8,9;10,11,12]; >> A=B+i*C A = 1.0000 + 7.0000i 2.0000 + 8.0000i 3.0000 + 9.0000i 4.0000 +10.0000i 5.0000 +11.0000i 6.0000 +12.0000i
行向量的创建
冒号表达式
格式
e1:e2:e3
说明:
e1:初始值
e2:步长
e3:终止值
注意:如果 步长e2 省略,则默认步长为1
冒号表达式创建行向量例子
>> D=0:1:5
D =
0 1 2 3 4 5
>> D=0:5
D =
0 1 2 3 4 5
linspace 函数
格式
linspace(a,b,n)
说明
a:生成向量的第一个元素
b:生成向量的最后一个元素
n:元素总数
注意:当 n 省略时,自动产生 100 个元素
linspace 例子
>> E=linspace(1,pi,6)
E =
1.0000 1.4283 1.8566 2.2850 2.7133 3.1416
二、 结构矩阵和单元矩阵
结构矩阵
在实际应用中经常会遇到由不同类型的数据项组成的数据实体。比如学生的数据就包括学号、姓名、性别等。这些数据是相互联系的,如果分开表示就不能体现数据的整体性。结构数据类型可以把数据类型但是逻辑相关的数据组成一个有机的整体。 其中每个数据就构成了这个结构数据的成员。
格式
结构矩阵成员.成员名=表达式
例子
>> a(1).x1=10;a(1).x2='long';a(1).x3=[11,12;13,14];
>> a(2).x1=11;a(2).x2='zhao';a(2).x3=[15,16;17,18];
>> a(3).x1=12;a(3).x2='qian';a(2).x3=[1,2;3,4];
单元矩阵
单元矩阵也是将不同类型的数据项放在一个变量中,但与结构矩阵不同的是结构矩阵的各个元素下还有成员,每个成员都有自己的名字,而单元矩阵的各个元素就是不同类型的数据,每个元素就是由不同类型的数据组成的。
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
例子
>> F={13,'sun',[0,1;2,3];14,'li',[4,5;6,7];15,'zhou',[8,9;10,11]}
F =
3×3 cell 数组
[13] 'sun' [2×2 double]
[14] 'li' [2×2 double]
[15] 'zhou' [2×2 double]
;14,‘li’,[4,5;6,7];15,‘zhou’,[8,9;10,11]}
F =
3×3 cell 数组
[13] 'sun' [2×2 double]
[14] 'li' [2×2 double]
[15] 'zhou' [2×2 double]