实验7隐函数、方程求根、不动点和迭代.
- 格式:ppt
- 大小:214.00 KB
- 文档页数:18


c语⾔不动点迭代法法求⽅程解,不动点迭代法求⽅程的根.docx 实验报告专业班级: 学号: 姓名:实验名称:⽤不动点迭代法解⾮线性⽅程1.实验⽬的:(1)掌握不动点迭代法求根的⽅法 (2 )学会运⽤C语⾔编写出相应的循环程序,得出⽅程的解。
2?实验内容:问题:求⽅程f(x)=x3-x-1=0 在xo=1.5附近的根x*。
算法描述:1)把⽅程改写成 X = 3;⼚7的形式2) 代⼊xo=1.5,并反复利⽤迭代公式 Xk dXk 1计算3)对上式得到的序列{xk}求极限lim Xk=x*,所求得的X*即为⾮线性⽅程的根实验⽅案(程序设计说明)算法设计思路:将X0代⼊迭代公式,作为第⼀次迭代结果X1。
随着不断的迭代,迭代数值会越来越接近不动点值X。
程序中变量的类型⼩数点后的位数是⼀定的,所以,随着不断的迭代,会出现相等的两数,那么,此时的Xk可以近似看做⽅程根X*。
程序流程图F开始Xk=1.5 ,k=0N?X k=X k+1Y1PAGEPAGE #结束实验步骤或程序(经调试后正确的源程序)主要步骤与程序代码,见附件A附件A实验报告(适⽤计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:程序代码:PAGEPAGE #H/iuHiHiHiHnnunnuiHiHnn"不动点迭代法求根的实现代码Kinclude ttinclude void nain()"为" 〃点〃 //动// "不" / * / / 0 /"为" 〃点〃 //动// "不" / * / / 0 / / X / "为" "值< 〃初< /^/ i / /= 〃给〃XO / ? /⽇⽦/ k 〃原"“ "设"le"1// / / / / "定od程〃 〃⼀=x⽅// 〃是xk求较〃 "数甯毗〃 〃位出做X0" 〃的△MW" "后就B% 〃点必近的// 〃数,必〃 〃⼩后可得〃./集xk代〃 "餐"3)〃回迭的迭〃 5;"函迭〃0/〃返筈枕" 1-"的⽤"1,//的鲁-// 0="梟"型过时第〃 X//所,“0+〃来K 爵对〃 k / 页⼀⼷ / X / e U / X /巳⽦⼸/ c / 1 -帀 1 / 2吩律〃ub叹,此7 bl"強〃 p〃do所况因"迭/由X / "应出〃 / rmdK/ /朮⼀才/ "⽴// "建代〃 "琴" "式次" "形⼀" "X)第" "]!(⾏"〃x=进〃 "成式〃 "写公"?⼒ / / ) /〃⾯〃 〃上 〃 〃复〃 / && / / 3 /〃等" / RD // "不" )/0 / O / X / =x"与⼔〃 //;点 S //巩〃⿀"XB=Xk;xl<= powCxO+1,1.0/3}:“输岀迭代值^收敛所得到的根泸 / cout? *⾮线性⽅程的根为-?endl ; cout?*,x*="<hiljtT^程序运⾏结果P:\C++程序\数值分析\gbug儼值分析⼼『?? = I回I—|⾮线性⽅程的根为;x*=l-32472Press any kwy to continue。
《数值分析》实验报告实验一方程求根一、实验目的:掌握二分法、Newton法、不动点迭代法、弦截法求方程的根的各种计算方法、并实施程序调试和运行,学习应用这些算法于实际问题。
二、实验内容:二分法、Newton法、不动点迭代法、弦截法求方程的根、程序的调试和运行,给出实例的计算结果。
观察初值对收敛性的影响。
三、实验步骤:①、二分法:定义:对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。
实现方法:首先我们设一方程400*(x^4)-300*(x^3)+200*(x^2)-10*x-1=0,并求其在区间[0.1,1]上的根,误差限为e=10^-4。
PS:本方法应用的软件为matlab。
disp('二分法')a=0.1;b=1;tol=0.0001;n0=100;fa=400*(a.^4)-300*(a.^3)+200*(a.^2)-10*a-1;for i=1:n0 p=(a+b)/2;fp=400*(p.^4)-300*(p.^3)+200*(p.^2)-10*p-1;if fp==0||(abs((b-a)/2)<tol)disp('用二分法求得方程的根p=')disp(p)disp('二分迭代次数为:')disp(i)break;end;if fa*fp>0 a=p;else b=p;end;end;if i==n0&&~(fp==0||(abs((b-a)/2)<tol)) disp(n0) disp('次二分迭代后没有求出方程的根')end;程序调试:运行结果:用二分法求得方程的根p=0.1108二分迭代次数为:14②Newton法定义:取定初值x0,找到函数对应的点,然后通过该点作函数切线,交x轴,得到新的横坐标值,然后找函数对应的点,做切线,得到新的横坐标值,重复上述步骤,多次迭代,直到收敛到需要的精度。