薛定宇教授大讲堂(卷Ⅲ):MATLAB线性代数运算
上QQ阅读APP看书,第一时间看更新

2.1 一般矩阵的输入方法

矩阵是线性代数中最基本的数学单元。本节将给出矩阵的一般数学形式,然后介绍实数矩阵与复数矩阵的输入方法。

定义2-1 一个nm列的矩阵又称为n×m矩阵,其数学形式为

定义2-2 如果矩阵An×m实矩阵,则记作ARn×m,复矩阵则记作ACn×m

定义2-3 一个n×1的矩阵称为列向量,一个1×n的矩阵称为行向量,1×1的矩阵称为标量。

在MATLAB中,矩阵是最基本的数据单元,可以用简单的命令输入一个矩阵,也可以用简单的命令进行矩阵分析与线性代数计算。矩阵可以由双精度型数据结构表示,也可以由符号型数据结构表示。这两种方法在描述与求解矩阵问题上是不同的,前者往往对应于矩阵问题的数值解,后者对应于矩阵问题的解析解。

例2-1 试将下面的实数矩阵输入MATLAB环境。

可以将整个矩阵逐行输入MATLAB环境,同一行的元素由逗号或空格分隔,逗号或空格的作用是完全一致的;换行用真正的换行键表示,也可以由分号分隔,其作用是一致的。上述A矩阵可以由下面的语句直接输入MATLAB环境。

     >> A=[-1,5,4,6; 0,2,4,-2;  4,0,-2,5],  B=sym(A)

正常情况下,由以上命令输入的矩阵默认是用双精度数据结构进行存储的,如果想将其转换成符号型数据结构,则可以采用sym()命令进行转换。比如,上面得出的A矩阵就是符号型的矩阵。请注意两种不同矩阵在显示格式上的区别。

例2-2 试将下面的复数矩阵输入MATLAB工作空间。

要输入复数矩阵,则应该学会使用i或j。例如,数学符号6j可以直接表示为6i或6j,这样就可以由下面的语句直接输入这个复数矩阵,得到的A矩阵存储为双精度数值矩阵,B矩阵为符号型矩阵。如果显示两个矩阵,则可见两种矩阵的显示格式也是不同的,读者可以尝试验证一下,体验不同的表示形式。

例2-3 输入复数矩阵时输入j时,应该使用1i而不要使用i表示,否则可能出现意想不到的结果。另外,下面的语句由于多余空格的加入会产生错误。

以上语句由于使用了多余的空格,MATLAB执行机制会将−1理解成第一个元素,+6i被理解成第二个元素,所以第一行就出现了5个元素,其他行有4个元素,故而最终导致错误信息。