matlab(迭代法-牛顿插值)Word版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告内容:
一:不动点迭代法解方程
二:牛顿插值法的MATLAB实现
完成日期:2012年6月21日星期四
数学实验报告一
日期:2012-6-21
所以,确定初值为x0=1
二:不断迭代
算法:
第一步:将f(x0)赋值给x1
第二步:确定x1-x0的绝对值大小,若小于给定的误差值,则将x1当做方程的解,否则回到第一步
编写计算机程序:
clear
f=inline('0.5*sin(x)+0.4');
x0=1;
x1=f(x0);
k=1;
while abs(x1-x0)>=1.0e-6
x0=x1;
x1=f(x0);
k=k+1;
fprintf('k=%.0f,x0=%.9f,x1=%.9f\n',k,x0,x1)
end
显示结果如下:
k=2,x0=0.820735492,x1=0.765823700
k=3,x0=0.765823700,x1=0.746565483
k=4,x0=0.746565483,x1=0.739560873
k=6,x0=0.736981783,x1=0.736027993 k=7,x0=0.736027993,x1=0.735674699 k=8,x0=0.735674699,x1=0.735543758 k=9,x0=0.735543758,x1=0.735495216 k=10,x0=0.735495216,x1=0.735477220 k=11,x0=0.735477220,x1=0.735470548 k=12,x0=0.735470548,x1=0.735468074 k=13,x0=0.735468074,x1=0.735467157 >>。。。
以下是程序运行截图:
数学实验报告之二
日期:2012-6-21
【编写主程序】
>> clear;clf
>> x=0:0.1:5;
>> y=sin(x);
>> [yhat,dy]=newtint(x,y,0.59)运行结果如下
yhat =
0.5564
dy =
-7.2731e-013
>>
所以:函数在0.59处的近似值为0.5564,误差为dy = -7.2731e-013
【实验结果】
函数在0.59处的近似值为0.5564
【误差分析】
误差为dy = -7.2731e-013
【心得体会】
总算明白了计算机解数学题目的原理是什么了,以前不懂,看到计算机解出一个一个的数学题就觉得非常神奇,老师担心人类不如计算机聪明担心有一天人类会被计算机取代。但是,我现在不这样想了,计算机其实非常傻,只会按照人类给它设定的步骤去走,不是计算机神奇,而是人
(注:可编辑下载,若有不当之处,请指正,谢谢!)