matlab实验一:非线性方程求解-牛顿法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验一:非线性方程求解程序1:二分法:symsfx;f=input('请输入f(x)=');A=input('请输入根的估计范围[a,b]=');e=input('请输入根的误差限e=');while(A(2)-A(1))ec=(A(1)+A(2))/2;x=A(1);f1=eval(f);x=c;f2=eval(f);if(f1*f2)0A(1)=c;elseA(2)=c;endendc=(A(1)+A(2))/2;fprintf('c=%.6f\na=%.6f\nb=%.6f\n',c,A)用二分法计算方程:1.请输入f(x)=sin(x)-x^2/2请输入根的估计范围[a,b]=[1,2]请输入根的误差限e=0.5e-005c=1.404413a=1.404411b=1.4044152.请输入f(x)=x^3-x-1请输入根的估计范围[a,b]=[1,1.5]请输入根的误差限e=0.5e-005c=1.324717a=1.324715b=1.324718程序2:newton法:symsfx;f=input('请输入f(x)=');df=diff(f);x0=input('请输入迭代初值x0=');e1=input('请输入奇异判断e1=');e2=input('请输入根的误差限e2=');N=input('请输入迭代次数限N=');k=1;while(kN)x=x0;ifabs(eval(f))e1fprintf('奇异!\nx=%.6f\n迭代次数为:%d\n',x0,k)breakelsex1=x0-eval(f)/eval(df);ifabs(x1-x0)e2fprintf('x=%.6f\n迭代次数为:%d\n',x1,k)breakelsex0=x1;k=k+1;endendendifk=Nfprintf('失败\n')end用newton法计算方程:1.请输入f(x)=x*exp(x)-1请输入迭代初值x0=0.5请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10x=0.567143迭代次数为:42.请输入f(x)=x^3-x-1请输入迭代初值x0=1请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10x=1.324718迭代次数为:53.1:请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.45请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10x=0.500000迭代次数为:43.2:请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.65请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10x=0.500000迭代次数为:93.3:请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.55请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10x=0.500000迭代次数为:4程序3:改进的newton法:symsfx;f=input('请输入f(x)=');df=diff(f);x0=input('请输入迭代初值x0=');e1=input('请输入奇异判断e1=');e2=input('请输入根的误差限e2=');N=input('请输入迭代次数限N=');k=1;while(kN)x=x0;ifabs(eval(f))e1fprintf('奇异!\nx=%.6f\n迭代次数为:%d\n',x0,k)breakelsex1=x0-2*eval(f)/eval(df);ifabs(x1-x0)e2fprintf('x=%.6f\n迭代次数为:%d\n',x1,k)breakelsex0=x1;k=k+1;endendendifk=Nfprintf('失败\n')end用改进的newton法计算方程:1.请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.55请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=10失败2.请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.55请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=20失败3.请输入f(x)=(x-1)^2*(2*x-1)请输入迭代初值x0=0.55请输入奇异判断e1=0.1e-010请输入根的误差限e2=0.5e-005请输入迭代次数限N=100失败

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功