数值分析实验报告——方程求根.doc《数值分析》实验报告
班级 信科
学 院
课程名称
1501
学号4 姓名
数学科学学院
数值分析
梁恩昊
日期
专 业
if i==n0&&~(fp==0||(abs((b-a)/2)<tol)) disp(n0)
disp(' 次二分迭代后没有求出方程的根 ')
end;
程序调试:
运行结果:
用二分法求得方程的根 p=
二分迭代次数为:
14
② Newton 法
定义:取定初值 x0,找到函数对应的点,然后通过该点作函数切线,交 x 轴,得到新的横
坐标值,然后找函数对应的点,做切线,得到新的横坐标值 , 重复上述步骤,多次迭代,直
到收敛到需要的精度。
实现方法:我们与二分法一样,先设一方程 400*(x^4)-300*(x^3)+200*(x^2)-10*x-1=0 ,
并求其在区间 [,1] 上的根。
PS:本方法应用的软件为 matlab 。
syms x;
diff(400*(x.^4)-300*(x.^3)+200*(x.^2)-10*x-1) % 求导方程
函数文件:
function Newton=fun(a)
Newton=400*(a.^4)-300*(a.^3)+200*(a.^2)-10*a-1;
end
function Newton2=dfun(b)
Newton2=1600*b^3-900*b^2+400*b-10; %fun 函数的导数
end
主程序:
x0=1;
while 1
x1=x0-fun(x0)/dfun(x0);
if abs(x1-x0)<1e-8 || abs(fun(x1))<1e-10
break;
end
x0=x1;
end
disp(' 用牛顿法求得的方程的根为: x=')
disp(x1)
程序调试:
运行结果:
用牛顿法求得的方程的根为:
x=
③ 、不动点迭代法:
采用不动点迭代法计算非线性方程 x3+4x2-10=0,在区间 [1,2] 上的一个根。
PS:本方法应用的软件为 matlab 。
不动点迭代法程序:
函数文件:
function [y,n]=BDD(x,eps)
if nargin==1
eps=;
elseif nargin<1
error
return
end
x1=gg(x);
n=1;
while (norm(x1-x)>=1e-6)&&(n<=10000)
x=x1;
x1=gg(x);
n=n+1;
end
y=x;
M函数:
function
数值分析实验报告——方程求根 来自淘豆网m.daumloan.com转载请标明出处.