- MATLAB R2022a完全自学一本通
- 刘浩等编著
- 714字
- 2023-12-06 17:04:04
2.2.2 矩阵的构造
矩阵的构造方式有两种:一种与元胞数组相似,可以对变量直接进行赋值;另一种是使用MATLAB中提供的构造特殊矩阵的函数,如表2-12所示。
表2-12 构造特殊矩阵的函数
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_61_2.jpg?sign=1739027430-cRujpfXotnH3TKLy28DDiAHEQC1KJiGR-0-c14a18dd1c1e7516b751b38ff4ef973b)
续表
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_1.jpg?sign=1739027430-M1lzvKOdMrJckYYi5pMqiqn6WUKtL4c7-0-6becc30aea153bcebacd6bfc8b1b98e1)
1.建立简单矩阵
简单矩阵的建立采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内,同行元素之间用空格或逗号隔开,行与行之间用分号“;”隔开,格式如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_2.jpg?sign=1739027430-3pKl4DhUUucRvT5oMhmPf5qy6igtNz1w-0-cbcd3d2e78006962ac5923e51440ce9d)
例2-31:简单矩阵构造示例。
分别构造一个二维矩阵、一个行向量、一个列向量。在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_3.jpg?sign=1739027430-3D1gLL8bVC1GZ7u55AxCBwF1sWj024vY-0-9a3f26dc92f88711a1b146c773cca772)
程序运行过程中的输出如下:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_62_4.jpg?sign=1739027430-o2EmQGV8oQh1okDn5KtefOHIQjt8XJ78-0-f7dc228a17113e170a84abf220df8a57)
2.建立特殊矩阵
特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵。常见的特殊矩阵有对称矩阵、三角矩阵和对角矩阵等。
例2-32:特殊矩阵构造示例。
在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_1.jpg?sign=1739027430-lNLoCc3w0v6y7yyE6TunwyGIb4h4QjP2-0-4a41d0442a6728573f782a7d5a98230c)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_2.jpg?sign=1739027430-B3UlWvzKVrv7I7cav42Hy7Nga5648gR9-0-865be3dd86ec5f946141091f79ac8de4)
继续在命令行窗口中输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_3.jpg?sign=1739027430-Djr1jcn3qiUgkR9unU43FdO9w2pytv1Y-0-7a45d85659de2ef0855b94327b567e95)
输出结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_63_4.jpg?sign=1739027430-J6XENwImr9hI1RQi7pkvrvXzqd6hngAf-0-51e272de8b7eb6dc01f34284fc90bd7e)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_1.jpg?sign=1739027430-71rg0UcnC3ffC1L2SAarHgiGfJRHGUrk-0-b4a23837de771936b0967ef74d9e609c)
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=1739027430-ywaxugdH3XcRz29rSVB0EHpkYnStNqaq-0-07b368d285ff800ab8653d30fd362e88)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_3.jpg?sign=1739027430-56bFdduBiynhM9fL1sZa7hYY7kTIBWTo-0-6586a95b1d8c1799c70312cc61e9c59a)
(2)标量。
当m=n=1时,建立的矩阵称为标量。任意以1×1的矩阵形式表示的单个实数、复数都是标量。
例2-33:在MATLAB中,标量有两种表示方法。
在命令行窗口中依次输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_4.jpg?sign=1739027430-5esaCFFd7rhbtZrgUF9qdsR5Ticopmgj-0-29feaa1ff965ac06d9fdc7eb2c729c1c)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_64_5.jpg?sign=1739027430-Iw0BNZsGJQiQEan3Xx1NYycBQu9V1Fml-0-280619f4496fbdef3635bb726b5b6327)
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_1.jpg?sign=1739027430-SANz0CVeZjwekemzrT3GxaErVDBdoc2Z-0-f2201eaf84e9d6a7c380be99f276f9be)
通过上述示例可知,单个实数或复数在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=1739027430-JBNItAa9QFA2PbLGljwmTJTELy3eDyU4-0-91b1cbcb3aa2340211412917c7177ed6)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_3.jpg?sign=1739027430-NJujg8R8Tx1f07nEseENamS4R1giygiR-0-7212a0fee8b90b724bfa7632774be1f8)
如果要建立一个0矩阵,则可以输入:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_4.jpg?sign=1739027430-ei1iZWHna0FPasJ8YtiE2Uzvf4yJlciW-0-c134c70ea54ddcefe29b6a7ba4f93d2b)
得到结果:
![](https://epubservercos.yuewen.com/57BE9F/26947316904586506/epubprivate/OEBPS/Images/44590_65_5.jpg?sign=1739027430-EjrvJhriitaLlEjryH6RMAhL9EovUtY1-0-1a487cc053158e1f9719ee80e5318d21)
空矩阵和0矩阵的本质区别在于:空矩阵内没有任何元素,因此不占用任何存储空间;而0矩阵则表示该矩阵中的所有元素全部为0,需要占用一定的存储空间。