写在前面:作者本人是纯纯的菜鸟,学习的内容来自于 中国大学MOOC 中南大学 《科学计算与MATLAB语言》,欢迎各位大佬或新手在这里和平讨论,如果我有错误请各位不吝赐教,提前感谢各位捧场!
一、矩阵的建立
方法一:直接输入法
矩阵中的元素用中括号包裹,同一行的元素之间用空格或逗号隔开,下一行的元素用分号隔开。
A=[1,2,3;4,5,6]
%生成一个两行三列矩阵,第一行元素分别为1 2 3 ; 第二行元素分别为4 5 6
方法二:已有矩阵拼接法
(这是我自己命名的,完全不是专业术语,仅仅是为了方便理解写的)
利用已有的矩阵拼接出一个更大的矩阵。
A=[1 2 3;4 5 6;7 8 9];
B=[7 8 9;4 5 6;1 2 3];
C=[A,B;B,A]
%此时C矩阵为6*6矩阵
方法三:建立复数矩阵
思路:将实部和虚部分别储存于两个矩阵中利用虚数单位使二者相加即得到所需复数矩阵
A=[1 2 3;4 5 6];
B=[7 8 9;1 2 3];
C=A+i*B
%这样即可得到复数矩阵C
%注意:i是单个数据,因此i与B相乘可以直接使用*表示i与B中每个元素分别相乘
方法四:利用MATLAB函数快速构造矩阵(一般为行向量)
1.冒号表达式
使用格式 A=初始值:步长:终止值
其中,若步长省略,则自动指定步长为1。
A=1:1:5;
B=1:5;
%此时,A与B表示同一个矩阵
2.linspace函数
使用格式 A=linspace(初始值,终止值,分割块数)
对这个函数,我的记忆方式是前面的lin是line的简写形式,意味着行向量中的数据是线性的,也就是创建一个数据线性变化的行向量。
其中若分割块数省略,则自动指定为100。
linspace(1,100,100)
%创建一个元素为1 2 3...100的行向量
二、特殊的矩阵
1.结构矩阵
a.为什么需要结构矩阵?
让我们想象这样一种情况,你手里有一张表格,写着学号,姓名和成绩,每一个数据单独看起来都没有什么意义,但是当某一个人的学号,姓名和成绩放在一起这组数据就变得有意义了。因此我个人理解结构矩阵就是一个包括多组小矩阵的一个大矩阵,而小矩阵使用十分灵活。
b.结构矩阵的使用
格式如下:
结构矩阵元素.成员名=表达式
a(1).x1=10;a(1).x2='liu';a(1).x3=[11,12;45,32];
a(2).x1=11;a(2).x2='zhang';a(2).x3=[18,42;25,62];
%a(1)是大矩阵的第一个元素,类似于成绩单中第一个学生的各种数据,a(2)同理;
%x1,x2,x3是大矩阵中的不同成员,类似于学号姓名和成绩
2.单元矩阵
个人理解,单元矩阵与结构矩阵十分相似,区别在于结构矩阵是分别写出“每位同学的各个数据”,单元矩阵是将整张成绩单写在一起,“同一个人的数据”用逗号隔开,“同学之间的数据”用分号隔开。
使用格式:{里面的各种元素}
B={10,'liu',[12 45;45 12] ; 12,'wang',[14 41;56 32]}
%要注意“不同同学之间”分号隔开
以上就是今天学到的内容了,再次感谢各位朋友耐心看到这里!