2.1 一般矩阵的输入方法
矩阵是线性代数中最基本的数学单元。本节将给出矩阵的一般数学形式,然后介绍实数矩阵与复数矩阵的输入方法。
定义2-1 一个n行m列的矩阵又称为n×m矩阵,其数学形式为
定义2-2 如果矩阵A为n×m实矩阵,则记作A∈Rn×m,复矩阵则记作A∈Cn×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个元素,故而最终导致错误信息。