MATLAB上机实验1答案

  • 格式:docx
  • 大小:22.10 KB
  • 文档页数:16

MATLAB上机实验1答案

实验1 Matlab 初步

一、

问题

已知矩阵A 、B 、b 如下:

-------------=031948

1187638126542

86174116470561091143A

------=5036422372536191291132815

10551201187851697236421B []1187531=b

应用Matlab 软件进行矩阵输入及各种基本运算。

二、

实验目的

学会使用Matlab 软件构作已知矩阵对应的行(列)向量组、子矩阵及扩展矩阵,实施矩阵的初等变换及线性无关向量组的正交规范化,确定线性相关相关向量组的一个极大线性无关向量组,且将其余向量用极大线性无关向量组线性表示,并能编辑M 文件来完成所有的实验目的。

三、

预备知识

1、 线性代数中的矩阵及其初等变换、向量组的线性相关性等知识。

2、 Matlab 软件的相关命令提示如下;

(1) 选择A 的第i 行做一个行向量:ai=A(i,:);

(2) 选择A 的第j 行做一个列向量:ai=A(j,:);

(3) 选择A 的某几行、某几列上的交叉元素做A 的子矩阵:A([行号],[列号]);

(4) n 阶单位阵:eye(n);n 阶零矩阵:zeros(n);

(5) 做一个n 维以0或1为元素的索引向量L ,然后取A(:,L),L 中值为1的对

应的列将被取到。

(6) 将非奇异矩阵A 正交规范化,orth(A) ;验证矩阵A 是否为正交阵,只需做

A*A'看是否得到单位阵E 。

(7) 两个行向量a1和a2的内积:a1*a2'。

(8) 让A 的第i 行与第j 列互换可用赋值语句:A([i,j],:)=A([j,i],:);

(9)让K乘以A的第i行可用赋值语句:A(i,:)=K*A(i,:);

(10)让A的第i行加上第j行的K倍可用赋值语句:A(i,:)=A(i,:)+K*A(j,:);

(11)求列向量组的A的一个极大线性无关向量组可用命令:rref(A)将A化成阶梯形行的最简形式,其中单位向量对应的列向量即为极大线性无关向量组所含的

向量,其它列向量的坐标即为其对应向量用极大线性无关组线性表示的系数。

四、实验的内容与要求

1、请在 MATLAB 直接输入下列常数,看它们的值是多少:

a i

b j

c eps

d inf

e nan

f pi

g realmax

h realmin

解:>> a=i

a =

0 + 1.0000i

>> b=j

b = 0 + 1.0000i

>> c=eps

c =

2.2204e-016

>> d=inf

d =

Inf

>> e=nan

e =

NaN

>> f=pi

f =

3.1416

>> g=realmax

g =

1.7977e+308

>> h=realmin

h =

2.2251e-308

2、MATLAB 的 sqrt 指令可对任一数值进行开平方的运算。用此指令求出下列各数的平

方根,并验算之:

a) 1-i

b) 2*i

c)-5+12*i

其中 i 是单位虚数。

解:>> a=sqrt(1-i)

a =

1.0987 - 0.4551i

>> b=sqrt(2*i) b =

1.0000 + 1.0000i

>> c=sqrt(-5+12*i)

c =

2.0000 +

3.0000i

3、输入矩阵A、B

>> A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12

-8;-3

6 -

7

8 -1 1;8 -4

9 1 3 0]

A =

3 4 -1 1 -9 10

6 5 0

7 4 -16

1 -4 7 -1 6 -8

2 -4 5 -6 12 -8

-3 6 -7 8 -1 1

8 -4 9 1 3 0

>> B=[1 2 4 6 -3 2;7 9 16 -5 8 -7;8 11 20 1 5 5;10 15 28 13 -1 9;12

19 36 25 -7 23;2 4 6 -3 0 5]

B =

1 2 4 6 -3 2

7 9 16 -5 8 -7

8 11 20 1 5 5

10 15 28 13 -1 9

12 19 36 25 -7 23 2 4 6 -

3 0 5

1、作出A的行向量组:a1,a2,a3,a4,a5,a6。

>> a1=A(1,:)

a1 =

3 4 -1 1 -9 10

>> a2=A(2,:)

a2 =

6 5 0

7 4 -16

>> a3=A(3,:)

a3 =

1 -4 7 -1 6 -8

>> a4=A(4,:)

a4 =

2 -4 5 -6 12 -8

>> a5=A(5,:)

a5 =

-3 6 -7 8 -1 1

>> a6=A(6,:)

a6 =

8 -4 9 1 3 0

2、作出B的列向量组:b1,b2,b3,b4,b5,b6。>>

b1=B(:,1)

b1 =

1

7

8

10

12 2

>> b2=B(:,2)

b2 =

2

9

11

15

19

4

>> b3=B(:,3)

b3 =

4

16

20

28

36

6

>> b4=B(:,4)

b4 =

6

-5

1

13

25

-3

>> b5=B(:,5)

b5 =

-3

8

5 -1

-7

>> b6=B(:,6)

b6 =

2

-7

5

9

23

5

3、由A的一、三、四行和二、三、五列交叉点上的元素作出子矩阵A3。

>> A3=A([1,3,4],[2,3,5])

A3 =

4 -1 -9

-4 7 6

-4 5 12

4、 做一个12阶矩阵A4其分块形式为A4=??

B E A 0。

>> A4=[A eye(6);zeros(6),B]

A4 =

3 4 -1 1 -9 10 1 0 0 0 0 0 6 5 0 7 4 -16 0 1 0 0 0 0 1 -4 7 -1 6

-8 0 0 1 0 0 0 2 -4 5 -6 12 -8 0 0 0 1 0 0 -3 6 -7 8 -1 1 0 0 0 0 1 0

8 -4 9 1 3 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 4 6 -3 2 0 0 0 0 0 0 7 9 16 -5 8 -7 0 0 0 0 0 0 8 11 20 1 5 5 0 0 0 0 0 0 10 15 28 13 -1 9 0 0 0

0 0 0 12 19 36 25 -7 23 0 0 0 0 0 0 2 4 6 -3 0 5

5、 由索引向量L 产生取A 的第二、四、五行所成的子矩阵A5。

将A 的对应的行向量组正交规范为正交向量组A6,并验证所得的结果。 >> L=[2 4 5]

L =

2 4 5

>> A5=A(:,L)

A5 =

4 1 -9

5 7 4

-4 -1 6

-4 -6 12

6 8 -1

-4 1 3

>> A6=orth(A)

A6 =

0.4418 0.0803 -0.5152 0.2589 0.3516 0.5851

-0.4496 -0.7388 -0.3591 0.3326 0.0847 -0.0734

-0.4356 0.1080 -0.0313 -0.0864 -0.5803 0.6734

-0.5509 0.2315 0.2774 -0.0630 0.7145 0.2270

0.2176 -0.5383 0.1238 -0.7469 0.1450 0.2620

-0.2492 0.3046 -0.7158 -0.5031 0.0318 -0.2804

6、求a1与a2的内积A7。

>> A7=a1*a2'

A7 =

-151

7、完成以下初等变换:将A的第一、四行互换,再将其第三列乘以6,再将其第一行

的10倍加至第五行。

>> A8=A

A8 =

3 4 -1 1 -9 10

6 5 0 7 4 -16

1 -4 7 -1 6 -8

2 -4 5 -6 12 -8

-3 6 -7 8 -1 1

8 -4 9 1 3 0

>> A8([1,4],:)=A8([4,1],:)

A8 =

2 -4 5 -6 12 -8

6 5 0

7 4 -16

1 -4 7 -1 6 -8

3 4 -1 1 -9 10

-3 6 -7 8 -1 1

8 -4 9 1 3 0

>> A8(:,3)=6*A8(:,3)

A8 =

2 -4 30 -6 12 -8

6 5 0

7 4 -16

1 -4 4

2 -1 6 -8

3 4 -6 1 -9 10

-3 6 -42 8 -1 1

8 -4 54 1 3 0

>> A8(5,:)=A8(5,:)+10*A8(1,:)

A8 =

2 -4 30 -6 12 -8

6 5 0

7 4 -16

1 -4 4