Matlab实验1 Matlab初步.docx
《Matlab实验1 Matlab初步.docx》由会员分享,可在线阅读,更多相关《Matlab实验1 Matlab初步.docx(24页珍藏版)》请在冰豆网上搜索。
Matlab实验1Matlab初步
实验1Matlab初步
一、问题
已知矩阵A、B、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直接输入下列常数,看它们的值是多少:
ai
bj
ceps
dinf
enan
fpi
grealmax
hrealmin
>>i
ans=0+1.0000i
>>j
ans=0+1.0000i
>>eps
ans=2.2204e-016
>>inf
ans=Inf
>>nan
ans=NaN
>>pi
ans=3.1416
>>realmax
ans=1.7977e+308
>>realmin
ans=2.2251e-308
2、MATLAB的sqrt指令可对任一数值进行开平方的运算。
用此指令求出下列各数的平方根,并验算之:
a)1-i
b)2*i
c)-5+12*i
其中i是单位虚数。
a)>>sqrt(1-i)
ans=1.0987-0.4551i
>>ans^2
ans=1.0000-1.0000i
b)>>sqrt(2*i)
ans=1.0000+1.0000i
>>ans^2
ans=0+2.0000i
c)>>sqrt(-5+12*i)
ans=2.0000+3.0000i
>>ans^2
ans=-5.0000+12.0000i
3、输入矩阵A、B
作出A的行向量组:
a1,a2,a3,a4,a5,a6。
>>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=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>a1=A(1,:
)
a2=A(2,:
)
a3=A(3,:
)
a4=A(4,:
)
a5=A(5,:
)
a6=A(6,:
)
a1=34-11-910
a2=65074-16
a3=1-47-16-8
a4=2-45-612-8
a5=-36-78-11
a6=8-49130
1、作出B的列向量组:
b1,b2,b3,b4,b5,b6。
>>B=[1246-32;7916-58-7;81120155;10152813-19;12193625-723;246-305]
B=
1246-32
7916-58-7
81120155
10152813-19
12193625-723
246-305
>>b1=B(:
1)
b2=B(:
2)
b3=B(:
3)
b4=B(:
4)
b5=B(:
5)
b6=B(:
6)
b1=
1
7
8
10
12
2
b2=
2
9
11
15
19
4
b3=
4
16
20
28
36
6
b4=
6
-5
1
13
25
-3
b5=
-3
8
5
-1
-7
0
b6=
2
-7
5
9
23
5
2、由A的一、三、四行和二、三、五列交叉点上的元素作出子矩阵A3。
>>A3=A([1,3,4],[2,3,5])
A3=
4-1-9
-476
-4512
3、做一个12阶矩阵A4其分块形式为A4=
。
>>A4=[A,eye(6);zeros(6),B]
A4=
34-11-910100000
65074-16010000
1-47-16-8001000
2-45-612-8000100
-36-78-11000010
8-49130000001
0000001246-32
0000007916-58-7
00000081120155
00000010152813-19
00000012193625-723
000000246-305
4、由索引向量L产生取A的第二、四、五行所成的子矩阵A5。
将A的对应的行向量组正交规范为正交向量组A6,并验证所得的结果。
>>L=[2,4,5];
A5=A(L,:
)
A5=
65074-16
2-45-612-8
-36-78-11
>>A
L=[0,0,0,0,0,0;1,1,1,1,1,1;0,0,0,0,0,0;1,1,1,1,1,1;1,1,1,1,1,1;0,0,0,0,0,0]
A5=reshape(A(find(L)),3,6)
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
L=
000000
111111
000000
111111
111111
000000
A5=
65074-16
2-45-612-8
-36-78-11
>>A6=orth(A)
A6=
0.44180.0803-0.51520.25890.35160.5851
-0.4496-0.7388-0.35910.33260.0847-0.0734
-0.43560.1080-0.0313-0.0864-0.58030.6734
-0.55090.23150.2774-0.06300.71450.2270
0.2176-0.53830.1238-0.74690.14500.2620
-0.24920.3046-0.7158-0.50310.0318-0.2804
>>A6*A6'
ans=
1.00000.0000-0.00000.0000-0.00000.0000
0.00001.00000.0000-0.00000.00000.0000
-0.00000.00001.00000.0000-0.00000.0000
0.0000-0.00000.00001.0000-0.00000.0000
-0.00000.0000-0.0000-0.00001.0000-0.0000
0.00000.00000.00000.0000-0.00001.0000
5、求a1与a2的内积A7。
>>A7=a1*a2'
A7=
-151
完成以下初等变换:
将A的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行。
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>A([1,4],:
)=A([4,1],:
)
A=
2-45-612-8
65074-16
1-47-16-8
34-11-910
-36-78-11
8-49130
>>A(:
3)=6*A(:
3)
A=
2-430-612-8
65074-16
1-442-16-8
34-61-910
-36-428-11
8-454130
>>A(5,:
)=10*A(1,:
)+A(5,:
)
A=
2-430-612-8
65074-16
1-442-16-8
34-61-910
17-34258-52119-79
8-454130
6、求B的列向量的一个极大线性无关向量组A9,并将其余的向量用极大线性无关向量组线性表示。
>>B2=rref(B)
B2=
1.000000-6.80006.20000
01.00000-8.60001.40000
001.00007.5000-3.00000
000001.0000
000000
000000
>>A9=B2(:
[1,2,3,6])
A9=
1000
0100
0010
0001
0000
0000
>>b4=B2(:
4)
b5=B2(:
5)
b4=
-6.8000
-8.6000
7.5000
0
0
0
b5=
6.2000
1.4000
-3.0000
0
0
0
第四列表示为
>>A9\b4
ans=
-6.8000
-8.6000
7.5000
0
第五列表示为
>>A9\b5
ans=
6.2000
1.4000
-3.0000
0
4、对矩阵A进行下列操作(如不清楚指令可用命令lookfor查找)
a)找出矩阵的大小(即行维数和列维数)
>>size(A)
ans=
66
b)改变矩阵的大小(例如将4×6的矩阵改成12×2)
>>reshape(A,3,12)
ans=
324-4-151-6-91210-8
6-3560-7784-1-161
18-4-479-1163-80
c)将矩阵左右翻转(Left-rightflip)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>fliplr(A)
ans=
10-91-143
-1647056
-86-17-41
-812-65-42
1-18-76-3
0319-48
d)将矩阵上下翻转(Up-downflip)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>flipud(A)
ans=
8-49130
-36-78-11
2-45-612-8
1-47-16-8
65074-16
34-11-910
e)找出矩阵每一列的最大值
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>max(A)
ans=
86981210
f)对矩阵的每一列进行排序
>>sort(A,1)
ans=
-3-4-7-6-9-16
1-4-1-1-1-8
2-4013-8
345140
657761
86981210
g)矩阵的旋转(Rotate)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>rot90(A)
ans=
10-16-8-810
-94612-13
17-1-681
-1075-79
45-4-46-4
3612-38
h)逆矩阵(Inversematrix)的计算
>>inv(A)
ans=
-0.07370.0604-0.22970.0067-0.08040.1042
0.31420.00360.24080.16050.1259-0.1436
0.2099-0.03950.31550.03640.0834-0.0663
-0.0827-0.01230.0088-0.07770.07790.0878
0.0134-0.0335-0.01590.11290.10610.0337
0.0377-0.0525-0.01100.04690.06980.0411
l)求矩阵的rank
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>rank(A)
ans=
6
j)计算矩阵的reducedrowechelonform
>>rref(A)
ans=
100000
010000
001000
000100
000010
000001
k)计算矩阵的nullspace
>>B
B=
1246-32
7916-58-7
81120155
10152813-19
12193625-723
246-305
>>null(B)
ans=
-0.71520.6047
-0.4573-0.7204
0.52230.2181
-0.0419-0.1213
0.0694-0.2306
0.0000-0.0000
m)计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors)
特征值
>>eig(A)
ans=
-13.5086
-6.9440
4.8091+2.8454i
4.8091-2.8454i
11.6384
7.1961
V为特征向量矩阵A为特征值矩阵
>>[V,D]=eig(A)
V=
-0.3433-0.0482-0.3852-0.2652i-0.3852+0.2652i-0.3857-0.5708
-0.00060.59040.4581-0.2938i0.4581+0.2938i0.69870.3629
0.22730.09170.54830.54830.20570.4898
0.7799-0.67870.0766-0.0528i0.0766+0.0528i0.26130.3645
-0.46140.3646-0.0421-0.2658i-0.0421+0.2658i0.45850.4119
0.09640.2169-0.1683-0.2740i-0.1683+0.2740i-0.2056-0.0014
D=
-13.508600000
0-6.94400000
004.8091+2.8454i000
0004.8091-2.8454i00
000011.63840
000007.1961
n)计算矩阵的QR分解(QRDecomposition)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>[Q,R]=qr(A)
Q=
-0.2705-0.4067-0.1940-0.6409-0.45170.3301
-0.5410-0.5416-0.11020.06410.4323-0.4592
-0.09020.3478-0.92550.0656-0.0254-0.0967
-0.18030.33300.0497-0.43550.70450.4101
0.2705-0.4996-0.25380.43000.23340.6111
-0.72130.24460.16340.4542-0.24030.3594
R=
-11.09051.8033-9.6479-1.4427-4.86908.3855
0-11.033910.2050-10.29568.8109-1.3484
00-2.7886-2.2049-2.90776.5758
0006.24952.1248-4.0461
000013.1412-16.6327
000008.7526
o)计算矩阵的LU分解(LUDecomposition)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>[L,U]=lu(A)
L=
0.37500.68750.0909-0.80131.00000
0.75001.00000000
0.1250-0.43751.0000000
0.2500-0.37500.0749-0.8451-0.80501.0000
-0.37500.56250.05881.000000
1.000000000
U=
8.0000-4.00009.00001.00003.00000
08.0000-6.75006.25001.7500-16.0000
002.92191.60946.3906-15.0000
0004.7647-1.235310.8824
0000-12.899031.0842
0000021.3430
p)计算矩阵的奇异值分解(SingularValueDecomposition)
>>A
A=
34-11-910
65074-16
1-47-16-8
2-45-612-8
-36-78-11
8-49130
>>[U,S,V]=svd(A)
U=
0.44180.0803-0.51520.25890.35160.5851
-0.4496-0.7388-0.35910.33260.0847-0.0734
-0.43560.1080-0.0313-0.0864-0.58030.6734
-0.55090.23150.2774-0.06300.71450.2270
0.2176-0.53830.1238-0.74690.14500.2620
-0.24920.3046-0.7158-0.50310.0318-0.2804
S=
28.539800000
018.85180000
0012.5128000
0005.262600
00004.52610
000001.5297
V=
-0.19470.0229-0.74120.14750.4929-0.3840
0.2021-0.4869-0.09860.15720.44980.6967