![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=1738961355-MUV09w4e1WoDUBP6e8YWLC5vujrdk5Qd-0-9f685c34a4b9cd09a70c18e5c2e0714d)
续表
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_1.jpg?sign=1738961355-ocMbPP7D1KKXJXvxodQJ6YsVzw1Ts0UW-0-90a9aa90adbc2b731b2c7faccd05054f)
1.建立简单矩阵
简单矩阵的建立采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号“;”隔开,格式如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_2.jpg?sign=1738961355-wpzdoywRVwtFB4hJ5ciiiYiimI2K89Ia-0-28b0fb586e5e2f0779daa5819a80812c)
例2-31:简单矩阵构造示例。
分别构造一个二维矩阵、一个行向量、一个列向量。在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_3.jpg?sign=1738961355-Vrsv8W74HX7gjZrO4ch9KczF9XOnn1Q9-0-9f461e33e6dbca2e3d45aeddb087438d)
程序运行过程中的输出如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_4.jpg?sign=1738961355-n0z7fL5grx56lWaDYfq4AF7SdYAPobtE-0-87d2a6a9209e4c281b0141e564fed497)
2.建立特殊矩阵
特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵。常见的特殊矩阵有对称矩阵、三角矩阵和对角矩阵等。
例2-32:特殊矩阵构造示例。
在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_1.jpg?sign=1738961355-tUcKo8yaVcCFDhvp7P4qtEbkvfodkXJy-0-0d6cde1e9acda4c87a2af8a2cb7e1ffb)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_2.jpg?sign=1738961355-0A8RN7RwXXlwaU8nozSyEDvOZaN92JTC-0-01b4d1f76efd87ec527f0c6c9f3bede7)
继续在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_3.jpg?sign=1738961355-Byo66H317EQQgul8wCs3JLIYu4SIEUjE-0-1b31d7981af4603788151e07976d7278)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_4.jpg?sign=1738961355-owKr8CGYD8gJykrSqAsh6DYFr1mNBrcs-0-2ee382c9d1d62688a3fef3df46fca255)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_1.jpg?sign=1738961355-AbsTEe4fes7FPINIHUO6EYuumcgf7LxC-0-ddf3b239e0421bddb808ebb104185c51)
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=1738961355-8dOJjamPQ3tGtz2zxK4GzP4Vzzd7DbYU-0-207c706f550c3ee0207a9804dba5548c)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_3.jpg?sign=1738961355-N2MlT9hRO9Buf7hEeYnUjfHkKpRfSrKb-0-1602ef802f57604cb0d721dbe74ae3b5)
(2)标量。
当m=n=1时,建立的矩阵称为标量。任意以1×1的矩阵形式表示的单个实数、复数都是标量。
例2-33:在MATLAB中,标量有两种表示方法。
在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_4.jpg?sign=1738961355-AM646kXMw97mpyVd8bPej0cKPNM3BPXv-0-3f81bd138fa192c09343926cee27ba6f)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_5.jpg?sign=1738961355-3SbJx8A0eRZoV7Dwsp0WPnMOmG2ow0gO-0-4d30ae9d38e55b36a83b5e5def04c9e6)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_1.jpg?sign=1738961355-w9Qh5WlnCv6w6KFzsXt97l1gDocIvRoS-0-e156315dba56062ab1b0e0e6d72330e1)
通过上述示例可知,单个实数或复数在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=1738961355-SJDmPQ7fd2Wvtic82YOKsTxnLueJ3QNJ-0-002de2520c5e1d1ce10d4ea6d524740b)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_3.jpg?sign=1738961355-XZialrvzoUjbwZbUVuUYt0GWTtje26v2-0-63818907fc74c78399a221b54e17761b)
如果要建立一个0矩阵,则可以输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_4.jpg?sign=1738961355-8JpFo7nqevMw4D1DxiXIQNxwC1y4Wjfb-0-19a4a50c2c19ff67fd2e2cdef59bfadc)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_5.jpg?sign=1738961355-QKDRebzGenJqrPSVmZwu2IVM9pfWQ3rQ-0-a75c65a01065b49f65264a9b36493426)
空矩阵和0矩阵的本质区别在于:空矩阵内没有任何元素,因此不占用任何存储空间;而0矩阵则表示该矩阵中的所有元素全部为0,需要占用一定的存储空间。