非线性方程的数值解法牛顿下山法matlab

非线性方程的数值解法牛顿下山法matlab

ID:43742651

大小:25.62 KB

页数:6页

时间:2019-10-13

非线性方程的数值解法牛顿下山法matlab_第1页
非线性方程的数值解法牛顿下山法matlab_第2页
非线性方程的数值解法牛顿下山法matlab_第3页
非线性方程的数值解法牛顿下山法matlab_第4页
非线性方程的数值解法牛顿下山法matlab_第5页
资源描述:

《非线性方程的数值解法牛顿下山法matlab》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、非线性方程的数值解法——计算物理实验作业九陈万物理学2013级13020011006l题目:用下列方法求在附近的根。根的准确值,要求计算结果精确到四位有效数字。(1)用牛顿法;(2)用弦截法,取l主程序:clearclc;%----------------初值设定-------------------x0=2;x1=1.9;eps=0.00001;N=50;%----------------迭代求解-------------------Newton(x0,eps,N);Newton_downhill(x0,eps,N);Secant_M

2、ethod(x0,x1,eps,N);6l子程序:f(x)function[y]=f(x)y=x^3-3*x-1;%函数f(x)Endl程序一:牛顿法functionNewton(x0,eps,N)%牛顿法%x0是迭代初值,eps是精度,N是迭代上限formatlong;k=1;while(1)ff=(f(x0+0.1*eps)-f(x0))/(0.1*eps);ifff==0disp('分母为零,请重新选择初始迭代值')break;elsex1=x0-f(x0)/ff;ifabs(x1-x0)

3、)disp(x1)break;elseifk>=Ndisp('迭代失败,请检查程序是否有误')6breakelsek=k+1;x0=x1;endendendl程序二:弦截法functionSecant_Method(x0,x1,eps,N)%弦截法%x0,x1是迭代初值,eps是精度,N是迭代上限formatlong;k=1;while(1)iff(x0)==0disp('满足精度要求的解是:')disp(x0)break;elseiff(x1)==0disp('满足精度要求的解是:')disp(x1)break;elseifabs(f

4、(x1)-f(x0))==0disp('分母为零,请重新选择初始迭代值')6break;elsex2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));ifabs(x2-x1)=Ndisp('迭代失败,请检查程序是否有误')break;elsek=k+1;x0=x1;x1=x2;endendendl程序三:牛顿下山法functionNewton_downhill(x0,eps,N)%牛顿下山法%x0是迭代初值,eps是精度,N是迭代上限f

5、ormatlong;k=1;while(1)lamda=1;6ff=(f(x0+0.1*eps)-f(x0))/(0.1*eps);ifff==0disp('分母为零,请重新选择初始迭代值')break;elsewhile(1)x1=x0-lamda*f(x0)/ff;iff(x1)>=f(x0)lamda=0.5*lamda;elsebreak;endendifabs(x1-x0)=Ndisp('迭代失败,请检查程序是否有误')break

6、elsek=k+1;x0=x1;endend6endendl程序运行结果:牛顿法:满足精度要求的根是:1.879385241571819弦截法:满足精度要求的解是:1.879385241572444l分析讨论:从运行结果来看,牛顿法与弦截法的结果与给定准确值完全相等;从运行时间上看速度都相当快。6

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

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

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