1 / 6
文档名称:

数值分析编程总结.docx

格式:docx   大小:27KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析编程总结.docx

上传人:jiyudian11 2022/4/6 文件大小:27 KB

下载得到文件列表

数值分析编程总结.docx

文档介绍

文档介绍:: .
1. LU分解:
[LU]=lu(A);追赶法functionx=zhuiganfa(A,b)al(f,a);whileit<=maxit&abs(x-a)>tol,
it=it+1;
a=x;
x=feval(f,a);end此函数的调用:
>>fixpnt1('f',2,100,1e-5)ans=
^方法(多个不动点迭代函数)function[x,it]=fixpnt(np,a,maxit,tol)switchnp,
case1,
phi=inline('(3*x+10F(1/5)');
case2,
phi=inline('sin(10*x)+2*cos(x)-3');
case3,
phi=inline('3-atan(x)');
case4,
phi=inline('-2-1/log(xA2+x+1)');endit=0;x=phi(a);whileit<=maxit&abs(x-a)>tol,
it=it+1;
a=x;
x=phi(a);end使用与输入:
>>fixpnt(2,1,100,1e-5)ans=
-[xit]=jacobi(A,b,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);x=zeros(size(b));forit=1:500x=D\(b+L*x+U*x);error=norm(b-A*x)/norm(b);if(error<tol)
break;endend高斯迭代function[xit]=gaosi(A,b,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);x=zeros(size(b));forit=1:500
x=(D-L)\(b+U*x);error=norm(b-A*x)/norm(b);if(error<tol)
break;endendSOR迭代function[xit]=SOR(A,b,w,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);x=zeros(size(b));forit=1:500
x=(D-w*L)\(w*b+(1-w)*D*x+w*U*x);error=norm(b-A*x)/norm(b);if(error<tol)
6. break;endend二分法:
1. :functionv=f(x)v=xA3-x-1;end二分法程序如下:
function[x,it]=erfengfa(a,b,f,tol)fa=feval(f,a);fb=feval(f,b);it=0;whileabs(b-a)>tol,
it=it+1;
x=a/2+b/2;
fx=feval(f,x);ifsign(fx)==sign(fa),a=x;fa=fx;else
7. b=x;fb=fx;endend牛顿法: