![MATLAB R2022a完全自学一本通](https://wfqqreader-1252317822.image.myqcloud.com/cover/854/47548854/b_47548854.jpg)
2.2.2 矩阵的构造
矩阵的构造方式有两种:一种与元胞数组相似,可以对变量直接进行赋值;另一种是使用MATLAB中提供的构造特殊矩阵的函数,如表2-12所示。
表2-12 构造特殊矩阵的函数
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_61_2.jpg?sign=1738927899-dpISpyhkYvpfDmnTDacLmzL4tMxPxXph-0-9a73c4869b86799f6719e3fa79026877)
续表
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_1.jpg?sign=1738927899-C7EPpz1QmIlaxDC5oPeEa4eEuxZC42u9-0-0059b3186de8e4f48f502caddaffa86f)
1.建立简单矩阵
简单矩阵的建立采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号“;”隔开,格式如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_2.jpg?sign=1738927899-EoVxwCXYHGFQJETieOTPcLo2d31oUD3x-0-76c0b69247b33cc9a9c6832b009939bb)
例2-31:简单矩阵构造示例。
分别构造一个二维矩阵、一个行向量、一个列向量。在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_3.jpg?sign=1738927899-zz3UBZgfJEYlDevReV9KzXCu7WZqdjUH-0-2bc1e3b9200ce13061f2bc07387868f9)
程序运行过程中的输出如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_4.jpg?sign=1738927899-m0wrNXNsPr7sicrAS9bhNyslHz2IoHcQ-0-cbccb29c2759f0458546c0f1a914387b)
2.建立特殊矩阵
特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵。常见的特殊矩阵有对称矩阵、三角矩阵和对角矩阵等。
例2-32:特殊矩阵构造示例。
在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_1.jpg?sign=1738927899-boomS4qNMyxGnsVJpA0BVN1IiAiUqiu3-0-f817e3ffffc2e1724e58daf30c8a43c8)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_2.jpg?sign=1738927899-NtfvIKHhDoZNfh0u5UvyfOPeXx11rBgl-0-905d23b4d48325fe3e2fd8e959eaef7d)
继续在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_3.jpg?sign=1738927899-wWVUQOIHcyMM0uB9rEIhAoIl4g664DOO-0-118c53060199a6e9c2118fe36bc9c172)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_4.jpg?sign=1738927899-xX8cMPddaAPGK9kkeD3RhLpjDrTprTBo-0-75d914d08d975dee28331ba3c558bd47)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_1.jpg?sign=1738927899-CCTComs7JpYq3DzqEPQ8M5Q3xu3SnCzx-0-b28a8c11c1ce4fe87d0dad146bbd6136)
3.向量、标量和空矩阵
通常情况下,矩阵包含m行n列,即m×n。当m和n取一些特殊值时,得到的矩阵具有一些特殊的性质。
(1)向量。
当m=1或n=1时,即1×n或m×1,建立的矩阵称为向量。例如,在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_2.jpg?sign=1738927899-xn0Tz1INy4qBtVYnw2ncGkFt6XweI7EN-0-bb7677048f334f88beb86dbc03ebab0b)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_3.jpg?sign=1738927899-NIfQZVvOSqnltprWcbfjqyrZXnu0bBmB-0-31b9a4883a29a60c2e5ed432b0e2a066)
(2)标量。
当m=n=1时,建立的矩阵称为标量。任意以1×1的矩阵形式表示的单个实数、复数都是标量。
例2-33:在MATLAB中,标量有两种表示方法。
在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_4.jpg?sign=1738927899-VovXWKLJhpypcqpQQ0a1Hih7HznIdzm6-0-358f6aca3d815e463a4037653d038729)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_5.jpg?sign=1738927899-l4Jtho3Zrc1K7EYlLpnu0JvObURXebpJ-0-9545e72696d1998e761b800ad1162fd7)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_1.jpg?sign=1738927899-pZ8Zk6MnYPduF6vApg61IBhFxz5M5oFp-0-8ad1d73d4790a7e30a8ca200aa4dc930)
通过上述示例可知,单个实数或复数在MATLAB中都是以矩阵的形式存储的;在MATLAB中,单个数据或由单个数据构造的矩阵都是标量。
(3)空矩阵。
当m=n=0或m=0,或者n=0时,即0×0、0×n、m×0,创建的矩阵称为空矩阵。空矩阵可以通过赋值语句建立。例如:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_2.jpg?sign=1738927899-leNxNZ4juQ6LHltnma5XgzDtCA7dITnX-0-5bc1e029cd691b6c4713908d11589fd5)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_3.jpg?sign=1738927899-1uciDbK0zFtZUZpPOpfKnfJ0zepVOI18-0-79823ddf219f8b8d4435e342cc6c3c28)
如果要建立一个0矩阵,则可以输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_4.jpg?sign=1738927899-wORKonKE8rXZEAW0GPd4J60kF6ns5VTe-0-99265e49dbe431f1642e8ce69e65136e)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_5.jpg?sign=1738927899-DtcXA7lVxLIQlVqMSaOXFeI9Cv6r7VUR-0-f5adcdfe26aa8f36d0717428db8a6cf0)
空矩阵和0矩阵的本质区别在于:空矩阵内没有任何元素,因此不占用任何存储空间;而0矩阵则表示该矩阵中的所有元素全部为0,需要占用一定的存储空间。