数值分析上机实验插值.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析上机实验插值

实 验 报 告 课程名称 数值分析 实验项目名称 插值实验 实验类型 上机 实验学时 2 班级学号 2011113130 姓名 张振 指导教师 沈艳 实验室名称 理学楼407 实验时间 2013.10.11 实验成绩 预习部分 实验过程 表现 实验报告 部分 总成绩 教师签字 日期 哈尔滨工程大学教务处 制 实验一 插值实验 一.插值法的基本思想 1.Lagrange插值多项式的基本思想及公式: Lagrange插值多项式的基本思想是把多项式的构造问题转化成n+1个基函数l(x)的构造。其公式如下: L(x) = . 其中 l(x)=,k=0,1,…,n. 2.Newton插值多项式基本思想及公式: Newton插值多项式是Lagrange插值多项式的改进,是由基函数{1, (x-x),...,(x-x)…(x-x).}逐次地推得到的多项式。其公式如下: P(x) = a+a(x-x)+ a(x-x)…(x-x). 其中 a= f[x,x,…,x],k=0,1,…n. 3.Hermite插值的基本思想及公式: Hermite插值不仅满足各插值点上函数值相等,而且各节点上导数值也想等,甚至高阶导数值也相等。在这里只给出两种典型的Hermite插值: ① P(x) = f(x)+f[x,x](x-x)+ f[x,x,x](x-x)(x-x)+A(x-x)(x-x)(x-x) 其中系数A=. 余项R(x)=f(ζ) (x-x)(x-x)(x-x). ② 其中 余项 4.三次样条 函数S(x)∈C [a,b] ,且在每个小区间[ x,x]上是三次多项式,其中a =xx... x= b 是给定节点,则称S(x)是节点xx...x上的三次样条函数。若在节点x上给定函数Y= f (X).( j =0, 1,…, n) ,并成立S(x ) =y .( j= 0, 1,…, n) ,则称S(x)为三次样条插值函数。 二.实验题目及实验目的 1.(第2章习题20)给定数据表如下: x 0.25 0.30 0.39 0.45 0.53 y 0.5000 0.5477 0.6245 0.6708 0.7280 试求三次样条插值S(x),并满足条件: (1)S(0.25)=1.0000,S(0.53)=0.6868; (2)S(0.25)=S(0.53)=0. 2.(第2章计算实习题3)下列数据点的插值 x 0 1 4 9 16 25 36 49 64 Y 0 1 2 3 4 5 6 7 8 可以得到平方根函数的近似,在区间[0,64]上作图。 (1)用这9个点作8次多项式插值L(x). (2)用三次样条(第一边界条件)程序求S(x). 从得到结果看在[0,64]上,哪个插值更精确;在区间[0,1]上,两种插值哪个更精确? 三.实验手段: 指操作环境和平台:win7系统下MATLAB R2009a 程序语言:一种类似C语言的程序语言,但比C语言要宽松得多,非常方便。 四.程序 1. ① 三次样条插值程序: function y = scyt(x0, y0, x) n = length(x0); m = length(x); y = zeros(1, m); p(n) = 0; q(1) = 1; d(1) = 1.0000; d(n) = 0.6868; for k = 2:n-1, h(1) = x0(k) - x0(k-1); h(2) = x0(k+1) - x0(k); p(k) = h(1) / (h(1) + h(2)); q(k) = h(2) / (h(1) + h(2)); d(k) = 6*((y0(k+1) - y0(k))/h(2) - (y0(k) - y0(k-1)) / h(1)) / (h(1) + h (2)); end b(1) = q(1) / 2; for k = 2:n-1, b(k) = q(k) / (2 - p(k)*b(k-1)); end temp(1) = d(1) / 2; for k = 2:n-1, temp(k) = (d(k) - p(k)*temp(k-1)) / (2 - p(k)*b(k-1)); end M(1) = 0; M(n) = 0; for k = n-1:-1:2, M(k) = temp(k) - b(k)*M

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档