matlab实验九.docx
- 文档编号:10152083
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:10
- 大小:40.31KB
matlab实验九.docx
《matlab实验九.docx》由会员分享,可在线阅读,更多相关《matlab实验九.docx(10页珍藏版)》请在冰豆网上搜索。
matlab实验九
实验九线性方程组
一实验目的
掌握线性方程组求解方法,运用MATLAB语言编写应用程序,完成对线性方程组的求解。
二、实验内容:
1、求线性方程组的通解
>>A=[1,-1,1,-1;-1,1,1,-1;2,-2,-1,1];
>>b=[1;1;-1];
z=null(A,'r')
z=
10
10
01
01
>>x0=A\b
Warning:
Rankdeficient,rank=2,tol=2.1756e-015.
x0=
0
0
1
0
通解为X=[0010]’+c1*[1100]’+c2*[0011]’;c1,c2为任意实数;
2、分别用LU分解、QR分解和Cholesky分解求解方程组
LU分解
>>A=[1-23-4;01-11;1031;0-731];
>>b=[4;-3;1;-3];
>>[L,U]=lu(A)
L=
1.0000000
0-0.1429-0.66671.0000
1.0000-0.28571.00000
01.000000
U=
1.0000-2.00003.0000-4.0000
0-7.00003.00001.0000
000.85715.2857
0004.6667
>>z=null(A,'r')
z=
Emptymatrix:
4-by-0
>>x=U\(L\b)
x=
-8.0000
1.7143
3.4286
-1.2857
>>formatrat
>>x=U\(L\b)
x=
-8
12/7
24/7
-9/7
QR分解
>>[Q,R]=qr(A)
Q=
-985/13931279/922314279/28082-1121/2378
0-1279/92231099/1585985/1393
-985/1393-1279/9223-14279/280821121/2378
0829/854-1309/283181121/4756
R=
-1393/9851393/985-4756/11212378/1121
0-9223/127914339/47001279/9223
00-1189/1429-1429/754
0001970/597
>>x=R\(Q\b)
x=
-8
12/7
24/7
-9/7
Cholesky分解
>>>A=[1-23-4;01-11;1031;0-731];
>>b=[4;-3;1;-3];
C=%把A变成对称阵%
>>D=CHOL(C)
X=D\(D’\b)
x=
-8
12/7
24/7
-9/7
3、利用高斯消去法求解方程组
高斯消去法的基本思路如下:
设有方程组
,设
是可逆矩阵。
高斯消去法的基本思想就是将矩阵的初等行变换作用于方程组的增广矩阵
,将其中的
变换成一个上三角矩阵,然后求解这个三角形方程组。
>>A=[0.1012.3043.555;-1.3473.7124.623;-2.8351.0725.643];
b=[1.183;2.137;3.035];
>>B=[A,b];
>>fori=2:
3
B(i,:
)=B(i,:
)-B(i,1)/B(1,1)*B(1,:
);
end
>>B
B=
101/1000288/125711/2001183/1000
010263/2987493/14410444/583
018211/27718661/1773008/83
>>k=find(B(2:
3,2));
k=k
(1)+1;
t=B(2,:
);
B(2,:
)=B(k,:
);
B(k,:
)=t;
fori=3
B(i,:
)=B(i,:
)-B(i,2)/B(2,2)*B(2,:
);
end
>>B
B=
101/1000288/125711/2001183/1000
010263/2987493/14410444/583
001628/2673805/1862
>>C=B(:
1:
3);
>>d=B(:
4);
>>z=null(C,'r')
z=
Emptymatrix:
3-by-0
>>x=C\d
x=
-947/2378
194/14063
802/2393
4、Jacobi-SOR迭代法采用如下的迭代公式
其中
为迭代参数,它的大小不仅影响迭代法是否收敛,而且还影响着迭代法的收敛速度,一般建议取
,试编写程序并求解方程组,并对结果进行相关分析。
//jacobi.m
functiony=jacobi(A,b,x0)
D=diag(diag(A));
y=x0-inv(D)*(A*x0-b);%w取1%
n=1;
whilenorm(y-x0)>1.0e-6
x0=y;
y=x0-inv(D)*(A*x0-b);
n=n+1
end
y
>>A=[0.680.010.12;0.03-0.54-0.05;0.20.080.74];
>>b=[1;1;1];
>>jacobi(A,b,[111]')
n=
2
n=
3
n=
4
n=
5
n=
6
n=
7
n=
8
n=
9
n=
10
n=
11
y=
951/740
-545/288
956/791
ans=
951/740
-545/288
956/791
>>>>jacobi(A,b,[000]')
n=
2
n=
3
n=
4
n=
5
n=
6
n=
7
n=
8
n=
9
n=
10
n=
11
y=
951/740
-545/288
956/791
ans=
951/740
-545/288
956/791
>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 实验