实验一  矩阵的基本运算

 

一、实验目的:

熟悉Matlab软件中关于矩阵的各种命令,掌握利用Matlab软件进行向量、矩阵的输入,向量与向量的运算,矩阵与矩阵的运算,矩阵与向量的运算。

二、相关知识

在线性代数中,我们曾经学过关于向量与向量的运算,主要包括向量与向量的加减法,数与向量的乘法;我们还学习过矩阵与矩阵的运算,主要包括矩阵的加减法,乘法,矩阵与向量的乘法,数与矩阵的乘法;矩阵的转置;矩阵求逆;矩阵求特征值;矩阵的初等变换;向量组的线性相关性等。我们现在要利用Matlab软件的相关命令来完成这些运算。在Matlab中,我们把向量看做1n列(行向量)或n1列(列向量)的矩阵,这样就可以将向量和矩阵放在一起讨论。

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的特征向量矩阵XA的特征值组成的对角阵

[X,D]=eig(A)

13

An次幂

A^n

14

AB的对应元素相乘

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

Ai行加上第jk

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.已知矩阵ABb如下:

在磁盘上建立一个名为sy1sj.m的文件,将矩阵ABb输入其中;

2.在1的基础上,在磁盘上建立文件sy1cx.m,完成下列计算:

1X11=A’X12=A+BX13=A-BX14=AB

2X21=|A|X22=|B|

3X31=R(A)X32=R(B)

4X4=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的行向量组:a1a2a3a4a5a6

2)生成矩阵A的列向量组:b1b2b3b4b5b6

3)由A135行,246列交叉点上的元素生成A的子矩阵A3

4)生成一个12阶矩阵A4,其左上角为A,右上角为6阶单位阵,左下角为6阶零矩阵,右下角为B

5)将A对应的行向量组正交规范化为正交向量组A5,并验证所得结果;

6)求a1a2的内积A7

7)完成以下初等变换:将A的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行;

8)求B的列向量组的一个极大无关向量组A9,并将其余向量用极大线性无关向量组线性表示。

4.完成实验报告。