第一讲插值与拟合
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X Y 0 0 3 1.2 5 1.7 7 2.0 9 2.1 11 2.0 12 1.8 13 1.2 14 1.0 15 1.6
y 机翼下 轮廓线
x
2013-8-16
22
例3 测得平板表面3*5网格点处的 温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 做出平板表面的温度分布曲面z=f(x,y) 的图形及等温线,并求出温度最高和 最低点。
2013-8-16 32
方插值,缺省为线性插值。
例1Matlab程序 x=0:2:24; y=[12 9 9 10 18 24 28 27 25 20 1 8 15 13]; x1=13; y1=interp1(x,y,x1,'spline') xi=0:1/3600:24; yi=interp1(x,y,xi, 'spline'); plot(x,y, '*',xi,yi)
2013-8-16 38
2013-8-16
39
例2的程序较复杂,说明如下: (1) 程序依次用Lagrange、分段 线性和三次样条三种插值方法进行了 计算,其中Lagrange高次插值明显 出现了Runge现象; (2) 因为Matlab没有Lagrange高 次插值功能,所以程序中单独编写了 高次插值函数lagrange,然后调用;
2013-8-16 15
强大插值功能的三维图形(曲面图, 等高线等)绘制软件Surfer。 第二部分首先介绍了拟合问题、 拟合原理与步骤,然后介绍了Origin 中的拟合功能及专业拟合软件Table Curve 2D, 3D。 第三部分给出了一个应用插值和 拟合的建模实例。
2013-8-16 16
大家学习。 1. 插值问题和拟合问题的特点及 区别;在实际中如何正确地判断、选 择插值或拟合方法? 2. 高次插值的Runge现象及避免 方法; 3. Matlab一维插值(interp1), 二 维插值(interp2), 散乱点插值(griddat
2013-8-16 18
a)及相关命令(surf, mesh, meshgrid, contour); 4. Surfer绘图的步骤; 5. 了解Surfer中几种插值的意义; 6. Origin和TableCurve拟合的步骤; 7. Matlab基础知识, 如数组及运算、 调用,循环与控制语句,绘图相关命 令,函数(m文件)的定义和调用等。
2013-8-16 4
培训方式 由于培训内容众多且有相当难度, 而培训时间又较短,所以如果学生不 事先认真预习相关内容,那么在课堂 上不可能完全听懂老师所讲内容,大 部分学生会云山雾罩,一头雾水,从 而使得培训效果大打折扣。 综上,强烈建议学生课前认真、
2013-8-16 5
反复研读授课PPT和其它相关资料, 然后带着疑问和兴趣再听老师讲解, 这样才能保证培训效果。 培训PPT及软件、程序下载邮箱: austmathmodeling@163.com MM: matlabmaple 培训以讲解为主,学生如有疑问, 可在下午上机辅导时向老师咨询。
2013-8-16 35
plot(x0,y0,'k+',x,y1,'r'); grid;
title('lagrange'); subplot(3,1,2); plot(x0,y0,'k+',x,y2,'r'); grid; title('piecewise linear'); subplot(3,1,3); plot(x0,y0,'k+',x,y3,'r');
2. 高次插值的Runge现象 在研究插值问题的初期,所有人 都想当然地认为插值多项式的次数越 高,插值精度越高。 Runge 通过对一个例子的研究发 现,上述结论仅仅在插值多项式的次 数不超过七时成立;插值多项式的次 数超过七时,插值多项式会出现严重
2013-8-16 26
的振荡现象,称之为Runge现象。
2013-8-16 8
Maple只能在上机过程中穿插介绍。 几乎所有的数学方法最终都要用 数学软件和程序实现,所以上机练习 是与课堂讲授同等重要的培训内容。 上机训练的主要目的和内容是通 过练习,掌握实现各类数学方法的数 学软件和程序。 上机所用数学软件和程序主要由
2013-8-16 9
教师提供,学生只要会用即可。 但需要提醒同学们注意的是,现 成的软件和程序不可能解决建模中的 所有问题。通过上机训练,掌握一些 基本编程和计算技能(如用Matlab做 数据处理、画图, 用Maple做简单的 解析计算),对于参加建模竞赛是绝 对必要的。
2013-8-16 10
上机前,培训老师会布置上机练 习,提供相关软件或程序,讲解关键 步骤和程序语句。上机过程中,辅导 老师负责解答学生的疑难问题。 题外话 特别要提醒大家的是,国赛完全 不同于网络挑战赛,题目的难度和开 放性适中,有答题要点、参考方法,
2013-8-16 11
甚至有参考答案;初评评委大部分由 指导教师担任,评阅结果通常比较合 理、靠谱。那种连基本建模方法都不 懂竟然也能获大奖的现象在国赛中几 乎是不可能发生的,全国一等奖的论 文必须模型、方法合理,结果基本可 信、正确,写作清晰、规范。 一句话,建模不能全靠忽悠。
2013-8-16 44
zi=interp2(x,y,temps,xi,yi','cubic'); figure(2); mesh(xi,yi,zi); figure(3); contour(xi,yi,zi,20,'r'); [i,j]=find(zi==min(min(zi))); x=xi(j),y=yi(i),zmin=zi(i,j) [i,j]=find(zi==max(max(zi))); x=xi(j),y=yi(i),zmax=zi(i,j)
2013-8-16 42
量,xi,yi为向量或矩阵,而z和zi则为 矩阵。 'method'表示插值方法:'neares t'—最邻近插值, 'linear'—双线性插 值, 'spline'—双三次样条插值,'cubi c'—双立方插值,黙认双线性插值。
2013-8-16
43
例3Matlab程序 x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; figure(1); mesh(x,y,temps); xi=1:0.2:5; yi=1:0.2:3;
2013-8-16 33
请理解掌握程序中的每个语句, 并改变插值方法,观察图形变化。
2013-8-16 34
例2Matlab程序 function plane x0=[0 3 5 7 9 11 12 13 14 15 ]; y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ]; x=0:0.1:15; y1=lagrange(x0,y0,x); y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,'spline'); subplot(3,1,1);
2013-8-16 40
(3) 程序涉及到了数组、循环和 条件语句、子函数的定义与调用以及 一些绘图命令(subplot,grid,title)等。 请大家通过上机理解、掌握上述 命令,特别是函数的定义及调用。
2013-8-16
41
2. 二维插值 二维插值命令是interp2, 基本格 式为zi=interp2(x,y,z,xi,yi,'method')。 二维插值命令的使用较复杂。 x,y,z为插值点,z可以理解为被 插值函数在(x,y)处的值;xi,yi为被插 值点, zi为输出的插值结果,可理解 为插值函数在(xi,yi)处的值;x,y为向
2013-8-16 19
二、插
值
1. 插值问题 例1 在一天24小时内,从零点开 始每间隔2小时测得的环境温度数据 分别为 12,9,9,10,18 ,24,28, 27,25,20,18,15,13, 推测中午1点温度,并做出24小时温 度变化曲线图。
2013-8-16 21
例2 已知飞机下轮廓线上数据如 下,画出飞机下轮廓线。
本讲首先要理解插值问题和拟合 问题的特点,其次要了解插值和拟合 的原理与方法,还要熟悉Matlab插 值与绘图的相关命令,掌握Matlab 编程的基本知识与技能,特别要熟练 掌握利用Surfer, Origin, TableCurve 等软件进行插值和拟合的技能。 下面给出本讲学习大纲,以方便
2013-8-16 17
2013-8-16 12
第一讲 插值与拟合
一、引 言
插值与拟合属数值分析中函数逼 近内容。在数学建模竞赛中,插值与 拟合是一种基本的数据分析手段,被 公认为建模中的常用算法之一。 本讲第一部分首先介绍了插值问 题、插值原理、高次插值的Runge现 象,然后讲解了Matlab中的一维和 二维插值命令,最后简要介绍了具有
2013数学建模培训
培训内容与方式
培训内容 1. 插值与拟合; 2. 灰色系统; 3. 层次分析法;(重要) 4. 模糊数学方法;(重要) 5. 多元统计分析与Spss;(重要) 6. 数学规划与Lingo;(重要) 7. 图论模型及其Matlab程序;
2013-8-16 3
8. 建模论文写作; 9. 建模案例讲评。 培训内容覆盖了数学建模中大部 分常用的数学方法。通过刻苦钻研, 努力学习,掌握了上述方法后,必将 大大提高建立数学模型和运用计算机 解决实际问题的综合能力,也一定会 在全国建模大赛中取得较好成绩。
2013-8-16 24
可以用范德蒙行列式和克莱姆法 则证明(习题集第一章最后一题): 在x0, x1, …, xn处取值y0, y1, …, yn 的多项式存在且唯一,即插值问题的 解唯一存在。 常 用 的 插 值 方 法 有 Lagrange 插 值法和Newton插值法。
2013-8-16 25
2013-8-16 31
1. 一维插值 一维插值命令是interp1, 其基本 格式为yi= interp1(x,y,xi, 'method')。 x,y为插值点,xi,yi为被插值点和 插值结果,x,y和xi,yi通常为向量; 'method'表示插值方法:'nearest'— 最邻近插值,'linear'—线性插值, 'spline'—三次样条插值,'cubic'—立
2013-8-16 23
上述问题可归结为“已知函数在 某区间(域)内若干点处的值, 求函数在 该区间(域)内其它点处的值”,这种 问题适宜用插值方法解决。 一维插值问题可描述为:已知函 数在x0, x1, …, xn处的值y0, y1,…, yn, 求简单函数 p(x),使 p(xi) = yi。 通常取 p(x)为多项式。
ຫໍສະໝຸດ Baidu
29
三、Matlab插值
Maple和Matlab都可以进行插值 计算,Maple的一维插值计算较为便 捷,而Matlab的二维插值功能较强, 还能进行散乱点插值。 本节主要介绍 Matlab的一维和 二维插值命令,大家务必要通过上机 操作熟悉这些命令,同时还要初步掌 握Matlab的基础知识与技能。
p10 ( x )
2013-8-16
1 f ( x) 2 1 25 x
27
因此,在实际中不应使用七次以 上的插值。 避免Runge现象的常用方法是: 将插值区间分成若干小区间,在小区 间内用低次(二次,三次)插值,即分 段低次插值,如样条函数插值。
2013-8-16
28
样条插值结果
2013-8-16
2013-8-16 36
grid; title('spline'); function y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0;
2013-8-16 37
for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end
2013-8-16 6
上机操作与练习
众所周知,在建模竞赛中,能否 熟练使用相关数学软件是能否取得好 成绩的关键之一。因此,数学软件的 培训应该是建模培训的重要内容。 建模中常用的数学软件有Matlab, Spss, Lingo, Maple等。 由于培训时间有限,在课堂上只 能简单介绍Spss和Lingo,而Matlab和
y 机翼下 轮廓线
x
2013-8-16
22
例3 测得平板表面3*5网格点处的 温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 做出平板表面的温度分布曲面z=f(x,y) 的图形及等温线,并求出温度最高和 最低点。
2013-8-16 32
方插值,缺省为线性插值。
例1Matlab程序 x=0:2:24; y=[12 9 9 10 18 24 28 27 25 20 1 8 15 13]; x1=13; y1=interp1(x,y,x1,'spline') xi=0:1/3600:24; yi=interp1(x,y,xi, 'spline'); plot(x,y, '*',xi,yi)
2013-8-16 38
2013-8-16
39
例2的程序较复杂,说明如下: (1) 程序依次用Lagrange、分段 线性和三次样条三种插值方法进行了 计算,其中Lagrange高次插值明显 出现了Runge现象; (2) 因为Matlab没有Lagrange高 次插值功能,所以程序中单独编写了 高次插值函数lagrange,然后调用;
2013-8-16 15
强大插值功能的三维图形(曲面图, 等高线等)绘制软件Surfer。 第二部分首先介绍了拟合问题、 拟合原理与步骤,然后介绍了Origin 中的拟合功能及专业拟合软件Table Curve 2D, 3D。 第三部分给出了一个应用插值和 拟合的建模实例。
2013-8-16 16
大家学习。 1. 插值问题和拟合问题的特点及 区别;在实际中如何正确地判断、选 择插值或拟合方法? 2. 高次插值的Runge现象及避免 方法; 3. Matlab一维插值(interp1), 二 维插值(interp2), 散乱点插值(griddat
2013-8-16 18
a)及相关命令(surf, mesh, meshgrid, contour); 4. Surfer绘图的步骤; 5. 了解Surfer中几种插值的意义; 6. Origin和TableCurve拟合的步骤; 7. Matlab基础知识, 如数组及运算、 调用,循环与控制语句,绘图相关命 令,函数(m文件)的定义和调用等。
2013-8-16 4
培训方式 由于培训内容众多且有相当难度, 而培训时间又较短,所以如果学生不 事先认真预习相关内容,那么在课堂 上不可能完全听懂老师所讲内容,大 部分学生会云山雾罩,一头雾水,从 而使得培训效果大打折扣。 综上,强烈建议学生课前认真、
2013-8-16 5
反复研读授课PPT和其它相关资料, 然后带着疑问和兴趣再听老师讲解, 这样才能保证培训效果。 培训PPT及软件、程序下载邮箱: austmathmodeling@163.com MM: matlabmaple 培训以讲解为主,学生如有疑问, 可在下午上机辅导时向老师咨询。
2013-8-16 35
plot(x0,y0,'k+',x,y1,'r'); grid;
title('lagrange'); subplot(3,1,2); plot(x0,y0,'k+',x,y2,'r'); grid; title('piecewise linear'); subplot(3,1,3); plot(x0,y0,'k+',x,y3,'r');
2. 高次插值的Runge现象 在研究插值问题的初期,所有人 都想当然地认为插值多项式的次数越 高,插值精度越高。 Runge 通过对一个例子的研究发 现,上述结论仅仅在插值多项式的次 数不超过七时成立;插值多项式的次 数超过七时,插值多项式会出现严重
2013-8-16 26
的振荡现象,称之为Runge现象。
2013-8-16 8
Maple只能在上机过程中穿插介绍。 几乎所有的数学方法最终都要用 数学软件和程序实现,所以上机练习 是与课堂讲授同等重要的培训内容。 上机训练的主要目的和内容是通 过练习,掌握实现各类数学方法的数 学软件和程序。 上机所用数学软件和程序主要由
2013-8-16 9
教师提供,学生只要会用即可。 但需要提醒同学们注意的是,现 成的软件和程序不可能解决建模中的 所有问题。通过上机训练,掌握一些 基本编程和计算技能(如用Matlab做 数据处理、画图, 用Maple做简单的 解析计算),对于参加建模竞赛是绝 对必要的。
2013-8-16 10
上机前,培训老师会布置上机练 习,提供相关软件或程序,讲解关键 步骤和程序语句。上机过程中,辅导 老师负责解答学生的疑难问题。 题外话 特别要提醒大家的是,国赛完全 不同于网络挑战赛,题目的难度和开 放性适中,有答题要点、参考方法,
2013-8-16 11
甚至有参考答案;初评评委大部分由 指导教师担任,评阅结果通常比较合 理、靠谱。那种连基本建模方法都不 懂竟然也能获大奖的现象在国赛中几 乎是不可能发生的,全国一等奖的论 文必须模型、方法合理,结果基本可 信、正确,写作清晰、规范。 一句话,建模不能全靠忽悠。
2013-8-16 44
zi=interp2(x,y,temps,xi,yi','cubic'); figure(2); mesh(xi,yi,zi); figure(3); contour(xi,yi,zi,20,'r'); [i,j]=find(zi==min(min(zi))); x=xi(j),y=yi(i),zmin=zi(i,j) [i,j]=find(zi==max(max(zi))); x=xi(j),y=yi(i),zmax=zi(i,j)
2013-8-16 42
量,xi,yi为向量或矩阵,而z和zi则为 矩阵。 'method'表示插值方法:'neares t'—最邻近插值, 'linear'—双线性插 值, 'spline'—双三次样条插值,'cubi c'—双立方插值,黙认双线性插值。
2013-8-16
43
例3Matlab程序 x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; figure(1); mesh(x,y,temps); xi=1:0.2:5; yi=1:0.2:3;
2013-8-16 33
请理解掌握程序中的每个语句, 并改变插值方法,观察图形变化。
2013-8-16 34
例2Matlab程序 function plane x0=[0 3 5 7 9 11 12 13 14 15 ]; y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ]; x=0:0.1:15; y1=lagrange(x0,y0,x); y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,'spline'); subplot(3,1,1);
2013-8-16 40
(3) 程序涉及到了数组、循环和 条件语句、子函数的定义与调用以及 一些绘图命令(subplot,grid,title)等。 请大家通过上机理解、掌握上述 命令,特别是函数的定义及调用。
2013-8-16
41
2. 二维插值 二维插值命令是interp2, 基本格 式为zi=interp2(x,y,z,xi,yi,'method')。 二维插值命令的使用较复杂。 x,y,z为插值点,z可以理解为被 插值函数在(x,y)处的值;xi,yi为被插 值点, zi为输出的插值结果,可理解 为插值函数在(xi,yi)处的值;x,y为向
2013-8-16 19
二、插
值
1. 插值问题 例1 在一天24小时内,从零点开 始每间隔2小时测得的环境温度数据 分别为 12,9,9,10,18 ,24,28, 27,25,20,18,15,13, 推测中午1点温度,并做出24小时温 度变化曲线图。
2013-8-16 21
例2 已知飞机下轮廓线上数据如 下,画出飞机下轮廓线。
本讲首先要理解插值问题和拟合 问题的特点,其次要了解插值和拟合 的原理与方法,还要熟悉Matlab插 值与绘图的相关命令,掌握Matlab 编程的基本知识与技能,特别要熟练 掌握利用Surfer, Origin, TableCurve 等软件进行插值和拟合的技能。 下面给出本讲学习大纲,以方便
2013-8-16 17
2013-8-16 12
第一讲 插值与拟合
一、引 言
插值与拟合属数值分析中函数逼 近内容。在数学建模竞赛中,插值与 拟合是一种基本的数据分析手段,被 公认为建模中的常用算法之一。 本讲第一部分首先介绍了插值问 题、插值原理、高次插值的Runge现 象,然后讲解了Matlab中的一维和 二维插值命令,最后简要介绍了具有
2013数学建模培训
培训内容与方式
培训内容 1. 插值与拟合; 2. 灰色系统; 3. 层次分析法;(重要) 4. 模糊数学方法;(重要) 5. 多元统计分析与Spss;(重要) 6. 数学规划与Lingo;(重要) 7. 图论模型及其Matlab程序;
2013-8-16 3
8. 建模论文写作; 9. 建模案例讲评。 培训内容覆盖了数学建模中大部 分常用的数学方法。通过刻苦钻研, 努力学习,掌握了上述方法后,必将 大大提高建立数学模型和运用计算机 解决实际问题的综合能力,也一定会 在全国建模大赛中取得较好成绩。
2013-8-16 24
可以用范德蒙行列式和克莱姆法 则证明(习题集第一章最后一题): 在x0, x1, …, xn处取值y0, y1, …, yn 的多项式存在且唯一,即插值问题的 解唯一存在。 常 用 的 插 值 方 法 有 Lagrange 插 值法和Newton插值法。
2013-8-16 25
2013-8-16 31
1. 一维插值 一维插值命令是interp1, 其基本 格式为yi= interp1(x,y,xi, 'method')。 x,y为插值点,xi,yi为被插值点和 插值结果,x,y和xi,yi通常为向量; 'method'表示插值方法:'nearest'— 最邻近插值,'linear'—线性插值, 'spline'—三次样条插值,'cubic'—立
2013-8-16 23
上述问题可归结为“已知函数在 某区间(域)内若干点处的值, 求函数在 该区间(域)内其它点处的值”,这种 问题适宜用插值方法解决。 一维插值问题可描述为:已知函 数在x0, x1, …, xn处的值y0, y1,…, yn, 求简单函数 p(x),使 p(xi) = yi。 通常取 p(x)为多项式。
ຫໍສະໝຸດ Baidu
29
三、Matlab插值
Maple和Matlab都可以进行插值 计算,Maple的一维插值计算较为便 捷,而Matlab的二维插值功能较强, 还能进行散乱点插值。 本节主要介绍 Matlab的一维和 二维插值命令,大家务必要通过上机 操作熟悉这些命令,同时还要初步掌 握Matlab的基础知识与技能。
p10 ( x )
2013-8-16
1 f ( x) 2 1 25 x
27
因此,在实际中不应使用七次以 上的插值。 避免Runge现象的常用方法是: 将插值区间分成若干小区间,在小区 间内用低次(二次,三次)插值,即分 段低次插值,如样条函数插值。
2013-8-16
28
样条插值结果
2013-8-16
2013-8-16 36
grid; title('spline'); function y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0;
2013-8-16 37
for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end
2013-8-16 6
上机操作与练习
众所周知,在建模竞赛中,能否 熟练使用相关数学软件是能否取得好 成绩的关键之一。因此,数学软件的 培训应该是建模培训的重要内容。 建模中常用的数学软件有Matlab, Spss, Lingo, Maple等。 由于培训时间有限,在课堂上只 能简单介绍Spss和Lingo,而Matlab和