版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上牛顿插值法一、 实验目的(1)掌握牛顿插值法的基本思路和步骤;(2)培养编程与上机调试能力。二、 算法描述(1) 牛顿插值法基本思路 给定插值点序列(。构造牛顿插值多项式。输入要计算的函数点并计算的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。(2) 牛顿插值法计算步骤输入值及(;要计算的函数点。对给定的由 计算的值。(3)输出三、 实验内容给定 ,取节点,构造牛顿插值函数计算点处的值,并绘制图形与比较。1)Newton插值公式源程序:clear;format lon
2、g;way_in = input('请选择输入的内容(1或2):n1、输入为f(x)表达式,区间a,b及其等分数n的值n2、输入为f(x)表达式和插值点横坐标xi的值n');switch way_in case 1 f = input('请输入函数表达式:f(x) = ', 's'); a = input('请输入区间左端值a:'); b = input('请输入区间右端值b:'); n = input('请输入区间等分值n:'); np = input('请输入插值函数在区间内绘图点数(默
3、认输入100):'); for i=1:n+1 x(i) = a + (b-a)/n*(i-1); y(i,1) = eval(subs(f,'x(i)','x'); end for j=1:n for k=j:n temp=y(k+1,j)-y(k,j); y(k+1,j+1)=temp/(x(k+1)-x(k+1-j) ; end c(j)=y(j,j); end c(j+1)=y(j+1,j+1); for k=1:np-1 xx(k)= a + (b-a)/np*k; yy(k) = eval(subs(f,'xx(k)',
4、9;x'); end for k=1:np-1 xs=xx(k); for i=1:n+1 if i=1 s(i)=c(i); else s(i)=c(i); for j=1:i-1 s(i)=s(i)*(xs-x(j); end end end Nn(k)=sum(s); end way_out = input('请选择要绘出的曲线(1、2或3):n1、同时输出原始曲线f(x)和插值曲线n2、只输出插值曲线n3、只输出原始曲线n'); switch way_out case 1 figure; plot(xx,yy,'r'); grid on; hol
5、d on; plot(xx,Nn,'b'); legend('原始曲线f(x)','插值曲线N(x)'); title('牛顿插值'); case 2 figure; plot(xx,Nn,'m'); legend('插值曲线N(x)'); title('牛顿插值'); case 3 figure; plot(xx,yy,'g'); legend('原始曲线f(x)'); title('牛顿插值'); otherwise errordl
6、g('请正确选择,输入只能为1、2或者3!','提示','on'); end case 2 f = input('请输入函数表达式:f(x) = ', 's'); xb = input('请输入插值节点的横坐标x:','s'); x = sscanf(xb,'%f'); disp('x0,x1,.,xi分别为:'); disp(x); n = size(x,1) - 1; if n<2 errordlg('请至少输入3个xi的值'
7、,'提示','on'); return; end np = input('请输入插值函数在区间内绘图点数(默认输入100):'); a = x(1); b = x(n+1); for i=1:n+1 y(i,1) = eval(subs(f,'x(i)','x'); end for j=1:n for k=j:n temp=y(k+1,j)-y(k,j); y(k+1,j+1)=temp/(x(k+1)-x(k+1-j) ; end c(j)=y(j,j); end c(j+1)=y(j+1,j+1); for k
8、=1:np-1 xx(k) = a + (b-a)/np*k; yy(k) = eval(subs(f,'xx(k)','x'); end for k=1:np-1 xs=xx(k); for i=1:n+1 if i=1 s(i)=c(i); else s(i)=c(i); for j=1:i-1 s(i)=s(i)*(xs-x(j); end end end Nn(k)=sum(s); end way_out = input('请选择要绘出的曲线(1、2或3):n1、同时输出原始曲线f(x)和插值曲线n2、只输出插值曲线n3、只输出原始曲线n'
9、;); switch way_out case 1 figure; plot(xx,yy,'r'); grid on; hold on; plot(xx,Nn,'b'); legend('原始曲线f(x)','插值曲线N(x)'); title('牛顿插值'); case 2 figure; plot(xx,Nn,'m'); legend('插值曲线N(x)'); title('牛顿插值'); case 3 figure; plot(xx,yy,'g'
10、); legend('原始曲线f(x)'); title('牛顿插值'); otherwise errordlg('请正确选择,输入只能为1、2或者3!','提示','on'); end otherwise errordlg('请正确选择,输入只能为1或2!','提示','on');end2)输入指令如图所示:3)原始图形和插值图像截屏如下:四实验分析与心得体会分析:由程序可知,当插值节点个数变化时,Newton插值多项式的结构不改变,插值多项式易于构造。只要给定插值函数,插值区间,插值节点,就可以很容易的得出插值多项式及其图像。另外,随着n的增大,插值精度逐渐提高,但并不是插值节点越多逼近精度越高,因为随着节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化妆品研发与质量控制手册
- 拍卖评估方法与实务手册
- 2026年城市绿化带维护合同二篇
- 江苏省无锡市2025-2026学年高一下学期期末考试 物理 含解析
- 2025年福建省福州市高职单招职业适应性测试考试题库(各地真题)附答案详解
- 2026年龙王港职业学院单招综合素质考试题库含答案详解【夺分金卷】
- 2025年承德生态职业学院高职单招职业技能考试模拟试卷含完整答案详解(典优)
- 2025年滑县幼儿师范高专高职单招职业适应性测试考试模拟试卷附参考答案详解(夺分金卷)
- 2025年达州巴河职业学院单招职业技能考试题库附完整答案详解(典优)
- 2024年湖南衡阳石鼓职业学院单招综合素质考试模拟试卷含答案详解【培优B卷】
- 船舶修造结算管理办法
- 汇丰银行课件
- 舆情法制培训课件
- 额敏县生活垃圾热解处理项目环评报告
- 借车试乘试驾协议书
- JJF(新) 139-2024 锅炉散热损失测试规范
- DB33T 1368-2024医院“一站式”综合服务中心建设与服务规范
- (医学书籍)张元素医学全书
- DB14-T 3149-2024 公路机电工程施工监理指南
- 《网络综合布线系统工程技术实训教程》(第5版)练习题汇 王公儒 1-15
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
评论
0/150
提交评论