实验一 矩阵的基本运算
一、实验目的:
熟悉Matlab软件中关于矩阵的各种命令,掌握利用Matlab软件进行向量、矩阵的输入,向量与向量的运算,矩阵与矩阵的运算,矩阵与向量的运算。
二、相关知识
在线性代数中,我们曾经学过关于向量与向量的运算,主要包括向量与向量的加减法,数与向量的乘法;我们还学习过矩阵与矩阵的运算,主要包括矩阵的加减法,乘法,矩阵与向量的乘法,数与矩阵的乘法;矩阵的转置;矩阵求逆;矩阵求特征值;矩阵的初等变换;向量组的线性相关性等。我们现在要利用Matlab软件的相关命令来完成这些运算。在Matlab中,我们把向量看做1行n列(行向量)或n行1列(列向量)的矩阵,这样就可以将向量和矩阵放在一起讨论。
在Matlab中,矩阵的输入方法主要有两种,一种是在Matlab的命令窗口中输入,这种方法适合输入一些阶数较低的矩阵,而对于一些阶数较高的矩阵,则最好采用建立磁盘文件的方法,这样便于多次利用,也方便在需要的时候可以修改数据。在命令窗口输入的方法为:
A=[1,2,3;4,5,6;7,8,9];
这表示在命令窗口中输入矩阵
,注意,逗号表示同行元素,也可用空格代替,分号表示换行。
如果使用磁盘文件的方法,则需要建立一个以m为后缀的文本文件,它可以用Matlab自带的编辑器编辑,也可以用任何一个能够编辑文本文件的编辑器来编辑,文本文件的内容与在命令窗口中输入的相同。将文本文件放在一个特定的位置(某一个文件夹中),并将该位置加入到Matlab的工作目录中,用File->Setpath来完成。使用时,先在命令窗口输入文件名,接着,就可以使用该文件中的所有数据了。注意:多个矩阵可以存放在一个文件中。
关于一些常见的矩阵运算在Matlab中的实现方法,我们将Matlab的命令和功能列表如下:
|
序号 |
功能 |
Matlab命令 |
|
1 |
求矩阵A的转置 |
A’ |
|
2 |
求矩阵A与矩阵B的和 |
A+B |
|
3 |
求矩阵A减矩阵B |
A-B |
|
4 |
求数k乘以矩阵A |
k*A |
|
5 |
求矩阵A乘以矩阵B |
A*B |
|
6 |
求A的行列式 |
det(A) |
|
7 |
A的秩 |
rank(A) |
|
8 |
A的逆 |
inv(A) |
|
9 |
B左乘A的逆;或A右除B,即B*inv(A) |
B/A |
|
10 |
B右乘A的逆;或A左除B,即inv(A)*B |
A\B |
|
11 |
A的特征值 |
eig(A) |
|
12 |
A的特征向量矩阵X及A的特征值组成的对角阵 |
[X,D]=eig(A) |
|
13 |
A的n次幂 |
A^n |
|
14 |
A与B的对应元素相乘 |
A.*B |
|
15 |
选择A的第i行生成一个行向量 |
ai=A(i,:); |
|
16 |
选择A的第j列生成一个列向量 |
aj=A(:,j); |
|
17 |
选择A的某几行、某几列上交叉元素生成A的子矩阵 |
A(起始行:步长:终行,起始列:步长:终列) 步长为1时可以省略 |
|
18 |
生成n阶零矩阵 |
zeros(n) |
|
19 |
生成n阶单位阵 |
eye(n) |
|
20 |
将非奇异矩阵正交化 |
orth(A) |
|
21 |
两个向量的内积 |
a1*a2’ |
|
22 |
A的第i行与第j行互换 |
A([i,j],:)=A([j,i],:) |
|
23 |
用k乘以A的第i行 |
A(i,:)=k*A(i,:) |
|
24 |
A的i行加上第j行k倍 |
A(i,:)=A(i,:)+k*A(i,:) |
|
25 |
由已定义的矩阵生成矩阵 |
B=[A,E;O,A] |
|
26 |
求A的列向量组的一个极大线性无关组 |
rref(A) |
Matlab的一些其它命令:
|
序号 |
功能 |
Matlab命令 |
|
1 |
存储工作空间变量,即命令窗口使用过的变量 |
Save 文件名 变量名 |
|
2 |
列出工作空间的所有变量 |
whos |
|
3 |
Help 函数名 可查阅该命令的用法 |
Help命令 |
|
4 |
运行演示程序Demo |
Demo命令 |
|
|
|
|
|
|
|
|
三、实验内容
1.已知矩阵A、B、b如下:
,
,![]()
在磁盘上建立一个名为sy1sj.m的文件,将矩阵A、B、b输入其中;
2.在1的基础上,在磁盘上建立文件sy1cx.m,完成下列计算:
1)X11=A’,X12=A+B,X13=A-B,X14=AB;
2)X21=|A|,X22=|B|;
3)X31=R(A),X32=R(B);
4)X4=A-1;
5)作矩阵C,其元素为A的元素乘以每个元素的行标再乘以每个元素的列标。
6)用5)得到的矩阵C,求解矩阵方程XA=C中的解矩阵X6;
7)求满足方程组AX=b’的解向量X7;
8)求X6的特征向量组,记为X8,相应的对角形记为D;
9)计算X9=B2(A-1)2;
3.在1的基础上,完成下列运算:
1)生成矩阵A的行向量组:a1,a2,a3,a4,a5,a6;
2)生成矩阵A的列向量组:b1,b2,b3,b4,b5,b6;
3)由A的1、3、5行,2、4、6列交叉点上的元素生成A的子矩阵A3;
4)生成一个12阶矩阵A4,其左上角为A,右上角为6阶单位阵,左下角为6阶零矩阵,右下角为B;
5)将A对应的行向量组正交规范化为正交向量组A5,并验证所得结果;
6)求a1与a2的内积A7;
7)完成以下初等变换:将A的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行;
8)求B的列向量组的一个极大无关向量组A9,并将其余向量用极大线性无关向量组线性表示。
4.完成实验报告。