实验一-插值方法实验_第1页
实验一-插值方法实验_第2页
实验一-插值方法实验_第3页
实验一-插值方法实验_第4页
实验一-插值方法实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算方法计算方法 实验报告 学学 院 院 信息学院信息学院 专专 业 业 计算机科学与技术计算机科学与技术 指导教师 指导教师 班级学号 班级学号 姓姓 名 名 计算机科学与工程系计算机科学与工程系 实验一实验一 插值方法插值方法 一一 实验目的实验目的 1 熟悉数值插值方法的基本思想 解决某些实际插值问题 加深对数值插值方 法的理解 2 熟悉 Matlab 编程环境 利用 Matlab 实现具体的插值算法 并进行可视化显示 二二 实验要求实验要求 用 Matlab 软件实现 Lagrange 插值 分段线性插值 三次 Hermite 插值 Aitken 逐步插值算法 并用实例在计算机上计算和作图 三三 实验内容实验内容 1 实验题目实验题目 1 已知概率积分的数据表dxey x x 0 2 2 构造适合该数据表的一 次 二次和三次 Lagrange 插值公式 输出公式及其图形 并计算 x 0 472 时的积分值 2 将区间 5 5 分为 10 等份 求作的分段线性插值函数 输出函 2 1 1 x xf 数表达式及其图形 并计算 x 3 3152 时的函数值 3 仿照附录 C 中 文件 1 2 逐步插值 程序 Neville 算法 课本 227 页 编写 相应的 Aitken 逐步插值算法的程序 根据下表所给数据分别利用上述两种算法求正弦 积分在 x 0 462 的值 并比较它们的结果 x dt t t xf sin x0 30 40 50 60 7 y0 298500 396460 493110 588130 68122 4 运行 C 中 文件 1 3 分段三次 Hermite 插值 程序 课本 228 页 要求自行 选择实验数据 2 设计思想设计思想 1 Lagrange 插值 插值 i0123 x0 460470 480 49 y0 48465550 49374520 50274980 511668 3 Lagrange 具有累加的嵌套结构 容易编制其计算程序 事实上 在逻辑上表现为二重循环 内 循环 j 循环 累乘求得系数 然后再通过外循环 i 循环 累加得出插值结果 y 2 分段线性插值 分段线性插值 分段插值是将被插值函数逐步多项式化 分段插值的处理过程分两步 将区间分成几个子段 并在每个子段上构造插值多项式装配在一起 作为整个区间的插值函数 在分化的每个节点给出数 据 连接相邻节点得一折线 该折线函数可以视作插值问题的解 3 Neville 插值 插值 Neville 插值的基本思想和 Aitken 插值一样 不同的是 Neville 插值每次选取的两个插值节点都 是上一步相邻节点插值后得到的 而不是新的插值节点 这样得到的插值函数和原函数更加接近 Atiken 逐步插值 逐步插值 Aitken 插值是对三步插值转化为两步插值的重复 先将前两个插值点插值生成新的数据 然后 与第三个插值点进行新的两点插值 不断重复这个插值过程 每一步增加一个新的节点 直到遍历 所有节点为止 最终获得与原函数更加接近的插值函数 4 Hermite 插值 插值 Hermite 插值是 Lagrange 插值的综合与推广 为了保证插值函数能更好地密合原来的函数 要 求 过点 即两者在节点上有相同的函数值 而且要求 相切 即在节点上还具有相同的导数值 3 对应程序对应程序 1 Lagrange 插值插值 function y0 N Lagrange eval X Y x0 X Y 是已知的差值点坐标点 x0 是插值点 y0 是 Lagrange 多项式在 x0 处的值 N 是 Lagrange 插值函数的权系数 m length X N zeros m 1 y0 0 for i 1 m N i 1 for j 1 m if j i N i N i x0 X j X i X j end end y0 y0 Y i N i end 2 分段插值 分段插值 syms f x f 1 1 x 2 N input 请输入插值节点数 N X 5 10 N 5 Y zeros 1 length X for i 1 N 1 x X i Y i eval f end M 5 0 01 5 y zeros 1 length M n 1 for i 1 N for x 5 0 01 5 if x X i y n Y i x X i 1 X i X i 1 Y i 1 x X i X i 1 X i n n 1 end end end ezplot f 5 5 hold on x 5 0 01 5 plot x y r 3 Neville 逐步插值逐步插值 function y0 Neville eval X Y x0 X Y 是已知的插值点的坐标 x0 是插值点 y0 是多项式在 x0 处的值 m length X P zeros m 1 P1 zeros m 1 P Y for i 1 m P1 P k 1 for j i 1 m k k 1 P j P1 j 1 P1 j P1 j 1 x0 X k 1 X j X k 1 end if abs P m P m 1 10 6 y0 P m return end end y0 P m Atiken 逐步插值逐步插值 function y0 Aitken eval X Y x0 X Y 是已知的插值点的坐标 x0 是插值点 y0 是多项式在 x0 处的值 m length X P zeros m 1 P1 zeros m 1 P Y for i 1 m P1 P k 1 for j i 1 m k k 1 P j P1 j 1 P1 j P1 1 x0 X k 1 X j X 1 end if abs P m P m 1 X i Y 0 4846555 0 4937452 x0 0 472 y0 N Lagrange eval X Y x0 y0 0 49556314000000 N 0 20000000000000 1 20000000000000 插值系数与作图 插值系数与作图 x1 0 y1 N Lagrange eval X Y x1 x2 1 y2 N Lagrange eval X Y x2 k y2 y1 x2 x1 k 0 90897000000001 x x1 x2 y y1 y2 plot x y 二次二次 Lagrange 插值插值 差值结果 差值结果 X 0 46 0 47 0 48 Y 0 4846555 0 4937452 0 5027498 x0 0 472 y0 N Lagrange eval X Y x0 y0 0 49555292800000 N 0 08000000000000 0 96000000000000 0 12000000000000 插值系数与作图 插值系数与作图 x1 0 y1 N Lagrange eval X Y x1 x2 1 y2 N Lagrange eval X Y x2 k y2 y1 x2 x1 k 0 87918499999967 x x1 x2 y y1 y2 plot x y 三次三次 Lagrange 插值插值 差值结果 差值结果 X 0 46 0 47 0 48 0 49 Y 0 4846555 0 4937452 0 5027498 0 5116683 x0 0 472 y0 N Lagrange 1 X Y x0 y0 N Lagrange eval X Y x0 y0 0 49555296000000 N 0 04800000000000 0 86400000000000 0 21600000000000 0 03200000000000 插值系数与作图插值系数与作图 x1 0 y1 N Lagrange eval X Y x1 x2 1 y2 N Lagrange eval X Y x2 k y2 y1 x2 x1 k 0 83708499999011 x x1 x2 y y1 y2 plot x y 2 分段差值分段差值 差值结果 差值结果 Y interp1 x y 3 3152 spline Y 0 08342312935731 作图 作图 原函数 蓝色 插值函数 红色 fenduan eval 请输入插值节点数 N 6 3 Neville 逐步插值逐步插值 X 0 3 0 4 0 5 0 6 0 7 Y 0 29850 0 39646 0 49311 0 58813 0 68122 x0 0 462 y0 Neville eval X Y x0 y0 0 45655811276280 Aitken 逐步插值逐步插值 X 0 3 0 4 0 5 0 6 0 7 Y 0 29850 0 39646 0 49311 0 58813 0 68122 x0 0 462 y0 Aitken eval X Y x0 y0 0 77480886915945 4 分段三次分段三次 Hermite 插值插值 X 0 3 0 4 0 5 0 6 0 7 Y log X DY 1 X x0 0 462 y0 Hermite interp X Y DY x0 y0 0 7722 四四 实验体会实验体会 通过本次课程设计 我初步掌握了 MATLAB 运用 了解了 matlab 的基本编程思想 学会了 matlab 的基本语法与常用操作命令 加深了对于 Lagrange 插值 分段线性插值 Neville 逐 步插值 Aitken 逐步插值 Hermite 插值的理解 培养了独立工作能力和创造力 更加精进了 编程的能力 综合运用专业及基础知识 解决实际数学问题的能力 深入的了解和体会了计算 方法 算法设计及其 matlab 实现的基本原理与学习思路 在本次课程设计中 在老师的精心 指导下 收益匪浅 同时对数学的研究有了更深入的认识 并对以往所掌握的数学及编程知识 有了回顾及更深入的探索 对于各种插值方法的精度分析也有了清晰的认识 并对各种插值算法有了深刻的的理解 Lagrange 插值在高次插值时同原函数插值偏差大 拉格朗日插值模型简单 结构紧凑 是经典 的插值法 但是由于拉格朗日的插值多项式和每个节点都有关 当改变节点个数时 需要重新 计算 且当增大插值阶数时容易出现龙格现象 分段线性插值是将整个区间分成许多小段 运 用低次插值 从而提高精度 分段线性插值算法简单 计算量小 但精度不高 Neville 插值 的基本思想和 Aitken 插值一样 不同的是 Neville 插值每次选取的两个插值节点都是上一步 相邻节点插值后得到的 而不是新的插值节点 这样得到的插值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论