数值分析中求解非线性方程的MATLAB求解程序(6种).doc

数值分析中求解非线性方程的MATLAB求解程序(6种).doc

ID:60836594

大小:16.50 KB

页数:4页

时间:2020-12-21

数值分析中求解非线性方程的MATLAB求解程序(6种).doc_第1页
数值分析中求解非线性方程的MATLAB求解程序(6种).doc_第2页
数值分析中求解非线性方程的MATLAB求解程序(6种).doc_第3页
数值分析中求解非线性方程的MATLAB求解程序(6种).doc_第4页
资源描述:

《数值分析中求解非线性方程的MATLAB求解程序(6种).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数值分析中求解非线性方程的MATLAB求解程序(6种)1.求解不动点function[k,p,err,P]=fixpt(g,p0,tol,max1)%求解方程x=g(x)的近似值,初始值为p0%迭代式为Pn+1=g(Pn)%迭代条件为:在迭代范围内满足

2、k

3、<1(根及附近且包含初值)k为斜率P(1)=p0;fork=2:max1P(k)=feval(g,P(k-1));err=abs(P(k)-P(k-1));relerr=err/(abs(P(k))+eps);p=P(k);if(err

4、(relerr

5、了最长的迭代次数')endP=P';2.二分法function[c,err,yc]=bisect(f,a,b,delta)%二分法求解非线性方程ya=feval(f,a);yb=feval(f,b);ifya*yb>0break;endmax1=1+round((log(b-a)-log(delta))/log(2));fork=1:max1c=(a+b)/2;yc=feval(f,c);ifyc==0a=c;b=c;elseifyb*yc>0b=c;yb=yc;elsea=c;ya=yc;endifb-a

6、a);yc=feval(f,c);3.试值法function[c,err,yc]=regula(f,a,b,delta,epsilon,max1)%试值法求解非线性方程%f(a)和飞(b)异号ya=feval(f,a);yb=feval(f,b);ifya*yb>0disp('Note:f(a)*f(b)>0');endfork=1:max1dx=yb*(b-a)/(yb-ya);c=b-dx;ac=c-a;yc=feval(f,c);ifyc==0break;elseifyb*yc>0b=c;yb=yc;elsea=c;ya=yc;enddx=min(abs(dx),ac);if

7、abs(dx)

8、abs(yc)

9、f(xk)

10、足够小且曲线y=f(x)的斜率在%(xk,f(xk))附近改变符号。Y=f(X);yrange=max(Y)-min(Y);epsilon2=yrange*epsilon;

11、n=length(X);m=0;X(n+1)=X(n);Y(n+1)=Y(n);fork=2:nifY(k-1)*Y(k)<0m=m+1;R(m)=(X(k-1)+X(k))/2;ends=(Y(k)-Y(k-1))*(Y(k+1)-Y(k));if(abs(Y(k))

12、:max1p1=p0-feval(f,p0)/feval(df,p0);err=abs(p1-p0);relerr=2*err/(abs(p1)+delta);p0=p1;y=feval(f,p0);if(err

13、(relerr

14、(abs(y)

15、r=abs(p2-p1);relerr=2*err/(abs(p2)+delta);p0=p1;p1=p2;y=feval(f,p1);if(err

16、(relerr

17、(abs(y)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。