资源描述:
《数值分析教学资料计算方法上机程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算方法上机程序二分法functionfun(e,a,b)yl=f(a);y2=f(b);al=a;bl=b;cl=(al+bl)/^;n二0;while(b-a)/(2A(n+l))>=ecliff(cl)==Oclelseiff(al)*f(cl)>0al=cl;cl=(al+bl)/2;n二n+1;elseiff(bl)*f(cl)>0bl=cl;cl=(al+bl)/2;n二n+1;endendnfunctiony=f(x)y=xA3-x-l;不动点迭代functionbdd=myfun(e,a,b)x0=(a
2、+b)/2;n=0;xO=g(xO);whileabs(xO-g(xO))>=exO=g(xO)n=n+l;end斯蒂芬森迭代functionst=myfun(巳a’b)x0=(a+b)/2;y=0;z=0;x2=0;n二0;%x0=h(x0);whileabs(x2-h(x0))>=ey=h(x0);z二h(y);x2=z・((z・y)八刀(z・2*y+x0))xO=x2;n二n+1;endnfunctionh=h(x)h=(x+WM)functiong=g(x)g二(x+1)八(第)牛顿迭代functionftn(
3、xO)i=0;whileabs(x0-f(x0))>=10A(-5)xO=f(xO);i=i+l;endIxOfunctiony=f(x)y=(2*xA3+l)/(3*xA2-l);简化牛顿迭代functionfpn(xO)i=0;a=xO;whileabs(x0-(x0-(x0A3-x0-l)/(3*aA2-l)))>=10A(-5)xO=xO-(xOA3-xO-l)/(3*aA2-l);i=i+l;endxOfunctiony=f(x,xO)y=x-(xA3-x-l)/(3*xOA2-l);最小二乘法拟合funct
4、ionfx=ecf(xl,x2,x3,x4,x5,x6,x7,yl,y2,y3,y4,y5,y6,y7)%P=[xlyl;x2y2;x3y3;x4y4;x5y5;x6y6;x7y7];Y=[yly2y3y4y5y6y7]';A=[lxlxlA2xlA3;1x2x2A2x2A3;1x3x3A2x3A3;1x4x4A2x4A3;1x5x5A2x5A3;1x6x6A2x6A3;1x7x7A2x7A3];B=Af*A;C=A**Y;X=CB;a=X(l)b=X(2)c=X(3)d=X(4)symsx;f=a+b*x+c*xA
5、2+d*xA3ezplot(f,[-3,3])雅克比迭代functionx=jacobi(a,b)e=le-5;n二length(b);N=50;x=zeros(n,l);y=zeros(n,l);fork=l:Nsum=0;fori=l:ny(i)=(b(i)-a(i/l:n)*x(l:n)+a(i,i)*x(i))/a(ij);endfori=l:nsum=sum+(y(i)-x(i))A2;endifsqrt(sum)6、rning)味能找到近似解');end%矩阵的产生a=0;a(l,l)=3;a(l,2)=-0.5;a(lz3)=-V4;a(2,l)=-l/2;a(2z2)=3;a(2,3)=-V2;a(2,4)=¥fori=3:20a(i,i)=3;a(izi+l)=-V2;a(iJ+2)=-3A;a(iJ-l)=-V2;a(i,i-2)=-1A;end高斯■赛德尔function[x,iter]=mseidel(A,b,x,ep,N)讦nargin<5,N=1000;end讦narginv4,ep=10A-6;endifnarg
7、in<3,x=zeros(size(b));endD=diag(diag(A));L=D-tril(A);U=D-triu(A);B=inv(D-L)*U;f=inv(D-L)*b;x0=0;foriter=l:Nifnorm((x-xO),inf)8、fnargin<4,x=zeros(size(b));end讦narginv3,omega=1.2;endD=diag(diag(A));L=D-tril(A);U=D-triu(A);x0=0;B=inv(D-omega*L)*((l-omega)*D+omega*U);f=omega*inv(D-omega*L)*b;fori