matlabWord文档格式.docx
- 文档编号:16634747
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:11
- 大小:79.02KB
matlabWord文档格式.docx
《matlabWord文档格式.docx》由会员分享,可在线阅读,更多相关《matlabWord文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
第一步,消去线性方程组中的第2、第3个方程中的X1。
将第1个方程乘以-5/7加到第2个方程,第1个方程乘以-1/7加到第3个方程,得到等价的线性方程组
7x1+8x2+11x3=-3
-33/7x2-76/7x3=-13/7
6/7x2+10/7x3=10/7
第二步,消去方程组第三个方程中的x2.将第二个方程乘以6/33加到第三个方程。
得到等价的线性方程组
7x1+8x2+11x3=-3
-33/7x2-76/7x3=-13/7
-6/11x3=12/11
这是一个上三角线性方程组,这种线性方程组容易求解。
依次得到x3x2x1.
即:
X1=-3
X2=5
X3=-2
可以由matlab直接求解例题1.直接求得Ax=b的解。
编写实现顺序高斯消去法的MATLAB函数文件gauss.m如下:
Functionx=guass(a,b,flag)
%线性方程组求解的顺序高斯消去法,a为系数矩阵,b为常数向量
%flag若为0,则显示中间过程,否则不显示,x求解
[na,m]=size(a);
n=length(b);
ifna~=m,error(‘系数矩阵必须是方阵’);
return;
end
Ifn~=m,error(‘系数矩阵a的列数必须等于b的行数’);
Ifnargin<
3,flag=0;
end;
A=[a,b];
Fork=1:
(n-1)
a((k+1):
n,(k+1):
(n+1))=a((k+1):
(n+1))-a((k+1):
n,k)/a(k,k)*a(k,k+1):
(n+1));
a((k+1):
n,k)=zeros(n-k,1);
ifflag==0,a,end
x=zeros(n,1);
x(n)=a(n,n+1)/a(n,n);
fork=n-1:
*-1:
1
x(k,:
)=(a(k,n+1)-a(k(k+1):
n)*x((k+1):
n))/a(k,k);
用上述MATLABm文件来求解例题1.
formatlong;
a=[7811;
51-3;
123];
b=[-3;
-4;
1]
X=guass(a,b)
1.2高斯列主元素消去法
雅可比迭代法
假设线性方程组Ax=b的雅可比迭代法的分量计算公式为
雅可比迭代的矩阵形式
A=D+L+U
(迭代法收敛的充分条件)如果迭代法x(k+1)=Bx(k)+f的迭代矩阵B的某一种范数‖B‖<
1则
(1)对任意初始向量x(0),迭代法收敛;
(2)迭代误差满足
求解如下方程组
=
实现求解线性方程组的雅可比迭代法的MATLAB函数文件jacobim如下。
function[x,k]=jacobi(a,b)
%求解线性方程组的jacobi迭代法,a为系数矩阵,b为常向量
%e为精度要求(默认为1e-5),m为迭代次数上限(默认200)
m=200;
e=1e-6;
x0=zeros(n,1);
k=0;
x=x0;
x0=x+2*e;
d=diag(diag(a));
1=-tril(a,-1);
u=triu(a,1);
whilenorm(x0-x,inf)>
e&
k<
m,k=k+1;
x0=x;
x=inv(d)*(l+u)*x+inv(d)*b;
k,disp(x'
),end;
ifk==m,error('
失败或已达迭代次数上限'
);
输入
>
a=[7-1-3;
-582;
249];
b=[1;
2;
3];
[x,k]=jacobi(a,b)
解得
k=
1
0.1428571428571430.2500000000000000.333333333333333
2
0.3214285714285710.2559523809523810.190476190476190
3
0.2610544217687070.4032738095238100.148148148148148
4
0.2639597505668930.3761219765684050.096088435374150
5
0.2377696118129790.3909527352607710.107510288065844
6
0.2447833713511860.3717284353666510.106738870592329
7
0.2417064353062340.3763048894464090.113724390647892
8
0.2453540087700120.3726354244044230.112374174622433
9
0.2442511354673890.3752527118256490.113194476093587
10
0.2449765914437730.3743583406437210.112276320195847
11
0.2444553287473230.3750412896033960.112512606059730
12
0.2446541582546550.3746564289521450.112324909343530
13
0.2445187367118190.3748276215732770.112451774186901
14
0.2445975634477120.3747112668981620.112405782253695
15
0.2445612305227490.3747720315913960.112439978390214
16
0.2445845666802910.3747407744791650.112421045843213
17
0.2445719874298290.3747600927143790.112429752080306
18
0.2445784784221850.3747500541235670.112423961586981
19
0.2445745626977870.3747555586171210.112426980740151
20
0.2445766429767960.3747523565010790.112425404459549
21
0.2445755099828180.3747540507456100.112426365338010
22
0.2445761638228060.3747531024047590.112425864116880
x=
0.244576163822806
0.374753102404759
0.112425864116880
高斯-赛德尔迭代法
高斯-赛德尔迭代法,简称G-S迭代法,就是对新算出的分量马上加以应用,其格式为
G-S迭代法的一个明显优点是,在计算机运算是只需一组工作单元,以便存放近似解。
可以说G-S迭代法是雅可比迭代发的一种加速方法。
现求如下线性方程组
实现求解线性方程组的G-S迭代法的MATLAB函数文件Seguass.m如下。
function[x,k]=Segauss(a,b,x0,e,m)
%求解线性方程组的Guass-Seidel迭代法,a为系数矩阵,b为常量
%e为代数精度要求(默认1e-5),m为迭代次数上限(默认200)
ifnargin<
5,m=200;
4,e=1e-5;
3,x0=zeros(n,1);
al=tril(a);
ial=inv(al);
x=-ial*(a-al)*x0+ial*b;
disp(x'
),end
在MATLAB命令窗口求解
a=[31;
12];
b=[2;
1];
x0=[0;
0];
e=1e-5;
[x,k]=Segauss(a,b,x0,e,m)
0.6666666666666670.166********6667
0.611111*********0.194444444444444
0.6018518518518520.199********4074
0.6003086419753090.199********2346
0.6000514403292180.199********5391
0.6000085733882030.199********5898
0.6000014288980340.199********0983
0.600001428898034
0.199********0983
逐次超松弛迭代法简称SOR方法,是G-S方法的加速方法,是解决大型稀疏线性方程组的有效方法之一。
用SOR方法求解线性方程组
实现求解方程组的逐次迭代法的MATLAB函数文件SOR.m如下。
function[x,k]=SOR(a,b,om,x0,e,m)
%求解线性方程组的逐次超松弛迭代法,a为系数矩阵,b为常向量
%om为松弛因子,e为精度要求(默认1e-5),m为迭代次数上限(默认200)
6,m=200;
5,e=1e-5;
4,x0=zeros(n,1);
3,om=1.5;
l=tril(a,-1);
fori=1:
n,
x1(i)=(b(i)-l(i,1:
i-1)*x(1:
i-1,1)-u(i,i+1:
u)*x0(i+1:
n,1))/a(i,i);
x(i)=(1-om)*x0(i)+om*x1(i);
formatlong;
a=[-4111;
1-411;
11-41;
111-4];
1;
om=1.3;
0;
[x,k]=SOR{a,b,om,x0,e,m}
得到解x=(-1,-1,-1,-1).
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab