数值分析 课程论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值方法实验报告
课程名称: 数值方法 班级: 09数2 实验日期: 2012
学 号: 200902114078 姓名: 李霞 指导教师:
实验成绩:
一、实验名称
用Newton 迭代法方程求根
二、实验目的及要求
1. 要求学生能够用Newton 迭代法求方程的根
2. 要求学生能够找出Newton 迭代法的收敛域
三、实验环境
Windows XP 操作系统,Matlab 软件
四、实验内容
求解下列方程:
1)
Newton 迭代法求解的第一个方程0523=--x x 2) 无求根公式的五次方程0245=--x x
3) 超越方程0tan =-x x
要求:
1) 先用图象法求初始近似,再用Newton 迭代法加工,计算结果达到5位有效数字.
2) 设计一个程序找出Newton 迭代的收敛域。

五.算法描述及实验步骤
输入 '0(),(),,,f x f x x M ε;
输出 方程()0f x =在0x 附近的根或失败信息;
步1 0d v ⇐;
步2 对1,2,3.....,k M =执行步3——步5;
步3 若'()0f x =则2dv ⇐,退出循环;否则:010'0()()f x x x f x ⇐-

步4 1001;e x x x x ⇐-⇐;
步5 若e ε≤则1d v ⇐,退出循环;
步6 若1dv ⇐则输出1x ,否则若0dv ⇐则输出“迭代M 次失败”,否则输出“奇
异”;
六、调试过程及实验结果
x1= 3;
x0 = 0;
while abs(x1 - x0) > 1e-5
f = x1^3-2*x1-5;
g = 3*x1^2 - 2;
x0 = x1;
x1 = x1 - f/g;
end
x1
>>x=0:0.001:10;
>> plot(x,x.^3-2.*x-5) >> grid on
>> x=-2:0.01:2;
>> plot(x,x.^5-4.*x-2) >> grid on
x=-4*pi:0.1:4*pi;
ezplot('tan(x)',x)
hold on
ezplot('x',x)
ezplot('0',x)
grid on
solve('x-tan(x)=0','x')
ans =0.
七、总结
Newton迭代法是著名的方程求根方法,它在解非线性问题上有简单的形式和快的收敛速度,值得注意的是它对初始近似值要求严格和要计算导数值。

此次我们运用Newton迭代法和Matlab二维图象画法进行试验。

通过本次实验,使我掌握了使用Newton迭代法求非线性方程的根,加深了对Newton迭代法的了解,并使我掌握了使用迭代法求非线性方程的根的方法,能够使用使用迭代法正确的求出求非线性方程的根。

八、附录(源程序清单)
1)
function x=Newton(f,df,x0,tol,M)
dv=0;
for k=1:M
if feval(df,x0)==0
dv=2;break
else
x1=x0-feval(f,x0)/feval(df,x0);
end
e=abs(x1-x0);x0=x1;
if e<=tol
dv=1;break
end
end
if dv==1
x=x1;
x=['迭代 ',num2str(M),'次失败']; else
x='奇异 ';
end
function y=f(x)
y=x^3-2*x-5;
function y=df(x)
y=3*x^2-2;
x0=2.2;tol=0.00005;M=100;
x=Newton('f','df',x0,tol,M)
x =2.0946
2)
function y=f(x)
y=x^5-4*x-2;
function y=df(x)
y=5*x^4-4;
x0=0.;tol=0.00005;M=100;
x0=0;tol=0.00005;M=100;
x=Newton('f','df',x0,tol,M)
x =-0.5085
3)
function y=f(x)
y=x-tan(x);
function y=df(x)
y=1-1/1+x^2;
x0=0.1;tol=0.00005;M=100;
>> x=Newton('f','df',x0,tol,M)
x =迭代100次失败。

相关文档
最新文档