![薛定宇教授大讲堂(卷Ⅲ):MATLAB线性代数运算](https://wfqqreader-1252317822.image.myqcloud.com/cover/150/29977150/b_29977150.jpg)
2.1 一般矩阵的输入方法
矩阵是线性代数中最基本的数学单元。本节将给出矩阵的一般数学形式,然后介绍实数矩阵与复数矩阵的输入方法。
定义2-1 一个n行m列的矩阵又称为n×m矩阵,其数学形式为
![](https://epubservercos.yuewen.com/2F1B07/16499866904818206/epubprivate/OEBPS/Images/Figure-P24_14371.jpg?sign=1738845777-pQnRBV7lRKaY2SE6yj7LQwaKc1qXy9a5-0-7d074ec68c1b1f33741e9df90374c19f)
定义2-2 如果矩阵A为n×m实矩阵,则记作A∈Rn×m,复矩阵则记作A∈Cn×m。
定义2-3 一个n×1的矩阵称为列向量,一个1×n的矩阵称为行向量,1×1的矩阵称为标量。
在MATLAB中,矩阵是最基本的数据单元,可以用简单的命令输入一个矩阵,也可以用简单的命令进行矩阵分析与线性代数计算。矩阵可以由双精度型数据结构表示,也可以由符号型数据结构表示。这两种方法在描述与求解矩阵问题上是不同的,前者往往对应于矩阵问题的数值解,后者对应于矩阵问题的解析解。
例2-1 试将下面的实数矩阵输入MATLAB环境。
![](https://epubservercos.yuewen.com/2F1B07/16499866904818206/epubprivate/OEBPS/Images/Figure-P25_14374.jpg?sign=1738845777-0DtSOy0PKvOQhP6HEbfvwYZOLCNrTChI-0-c6c31a973f843fe1a605db743e572ec2)
解 可以将整个矩阵逐行输入MATLAB环境,同一行的元素由逗号或空格分隔,逗号或空格的作用是完全一致的;换行用真正的换行键表示,也可以由分号分隔,其作用是一致的。上述A矩阵可以由下面的语句直接输入MATLAB环境。
>> A=[-1,5,4,6; 0,2,4,-2; 4,0,-2,5], B=sym(A)
正常情况下,由以上命令输入的矩阵默认是用双精度数据结构进行存储的,如果想将其转换成符号型数据结构,则可以采用sym()命令进行转换。比如,上面得出的A矩阵就是符号型的矩阵。请注意两种不同矩阵在显示格式上的区别。
例2-2 试将下面的复数矩阵输入MATLAB工作空间。
![](https://epubservercos.yuewen.com/2F1B07/16499866904818206/epubprivate/OEBPS/Images/Figure-P25_14375.jpg?sign=1738845777-KH6geNvaF23HrRQtSHmipV5iQtU01Nxk-0-e803a53431dfb1db2be1b349df5c8193)
解 要输入复数矩阵,则应该学会使用i或j。例如,数学符号6j可以直接表示为6i或6j,这样就可以由下面的语句直接输入这个复数矩阵,得到的A矩阵存储为双精度数值矩阵,B矩阵为符号型矩阵。如果显示两个矩阵,则可见两种矩阵的显示格式也是不同的,读者可以尝试验证一下,体验不同的表示形式。
![](https://epubservercos.yuewen.com/2F1B07/16499866904818206/epubprivate/OEBPS/Images/Figure-P25_14377.jpg?sign=1738845777-dD5FwylnCLLIEsM57eePU14kpDL9XuqX-0-437350dce3e86104bb613ae4602574ff)
例2-3 输入复数矩阵时输入j时,应该使用1i而不要使用i表示,否则可能出现意想不到的结果。另外,下面的语句由于多余空格的加入会产生错误。
![](https://epubservercos.yuewen.com/2F1B07/16499866904818206/epubprivate/OEBPS/Images/Figure-P25_14379.jpg?sign=1738845777-3zC4Ozza1fCo6n77fwsPDmnXZj1MJT6k-0-09523a2fb27a738dec09d4f9f3a7240c)
以上语句由于使用了多余的空格,MATLAB执行机制会将−1理解成第一个元素,+6i被理解成第二个元素,所以第一行就出现了5个元素,其他行有4个元素,故而最终导致错误信息。