![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=1739046069-v6tYlA2RBTBhfBcsnRj9iA2LlWKrdmm5-0-0c27bfd1b257ed949062f11b4bce2850)
续表
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_1.jpg?sign=1739046069-WP0eoSJOiFu9CybO3p49s98siqhJGUbG-0-4eb5eb4dc501194c68b3ae7b5cdfb1f7)
1.建立简单矩阵
简单矩阵的建立采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号“;”隔开,格式如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_2.jpg?sign=1739046069-mh84ES8wNjMbCX65fKAmdpbYGqFW43Qb-0-e52311ebde18097a3f5b4826abb73f39)
例2-31:简单矩阵构造示例。
分别构造一个二维矩阵、一个行向量、一个列向量。在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_3.jpg?sign=1739046069-kchFKwmIDFzWRQGrKsvmuoRlkJzND3Di-0-1a7bd4f4d1597bbc0496f5f4f30c6f3d)
程序运行过程中的输出如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_4.jpg?sign=1739046069-nOII06rGXqvHWX05NIzOyHoTbhU2ici6-0-37f094685ee13666de962ca520cc8d60)
2.建立特殊矩阵
特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵。常见的特殊矩阵有对称矩阵、三角矩阵和对角矩阵等。
例2-32:特殊矩阵构造示例。
在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_1.jpg?sign=1739046069-UuGkL7Sie2xDxbkiJVD3Zr3C7MKBvfZF-0-5e3580f8d24d42d02c65d3d8b8747c75)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_2.jpg?sign=1739046069-jy4jAsUzWI9rYa6M1mIHJ8Dc5DKo3EjR-0-152eac8d66ca992469e404e18a5b8030)
继续在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_3.jpg?sign=1739046069-3y7DuryyWf5hUSouenbtaSRTU6JYr7qj-0-5c04b565aa4ff92f78cbcd4abcf65bdd)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_4.jpg?sign=1739046069-T1UKrVux5FohwN856pES59KPFysHyk6G-0-bf0067f37eb0ee33e98a9dae79454e3f)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_1.jpg?sign=1739046069-odp7fXncP4AeEwJbCItuiAnDfVtgjXJW-0-ffcbc12443915c0ca319278be7b8cc63)
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=1739046069-eJJZeR4UkJaab5csMvZAZQ5HUiQYPuEF-0-f8e0dfcd7383c02121c7267634dc3423)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_3.jpg?sign=1739046069-ykWljGSs2YoK4wXFHbZWTWT9ZCRro5Dn-0-4f2ce2819eb50506074badbfa2994624)
(2)标量。
当m=n=1时,建立的矩阵称为标量。任意以1×1的矩阵形式表示的单个实数、复数都是标量。
例2-33:在MATLAB中,标量有两种表示方法。
在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_4.jpg?sign=1739046069-5B4bHO8jmw4Hok4ZJKqS8TtKJl6DdIVr-0-f358d0d77112175ade05d8ee2d54d1aa)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_5.jpg?sign=1739046069-qFziarhlKu0zA5wkTXO7BQrIhRXQGv42-0-aa1ea6d8f3414e727d97b2b7e26c7a6a)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_1.jpg?sign=1739046069-ZCXuATZ1CrjtTR5nuKH9VtX9fo8nfVDn-0-a802073679fbba49f240cfc7111f1bfa)
通过上述示例可知,单个实数或复数在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=1739046069-Psm7gCe5wmhquLWNkilVXCkEW2CWzNby-0-0c78b410a684657af4929cfa32a6ba19)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_3.jpg?sign=1739046069-ocBMn5fSQh5BMduOzzm78b6EuR9nE5xm-0-e3764ed93e025faa1f7a355acc245845)
如果要建立一个0矩阵,则可以输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_4.jpg?sign=1739046069-nxrd52JcqHWVjXMfFtAU5I58Q6Otz5Ck-0-e3527baf18de0efdb19ba202a16ca591)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_5.jpg?sign=1739046069-E111GFVFf5KhSntrdlXquUHWK19A6PL8-0-5bf3efe4a19c130f84bd5dadf45f572a)
空矩阵和0矩阵的本质区别在于:空矩阵内没有任何元素,因此不占用任何存储空间;而0矩阵则表示该矩阵中的所有元素全部为0,需要占用一定的存储空间。