第一讲插值与拟合2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/1/20
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');
2020/1/20
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;
2020/1/20
题外话
特别要提醒大家的是,国赛完全
不同于网络挑战赛,题目的难度和开
放性适中,有答题要点、参考方法,
2020/1/20
11
甚至有参考答案;初评评委大部分由
指导教师担任,评阅结果通常比较合
理、靠谱。那种连基本建模方法都不
懂竟然也能获大奖的现象在国赛中几
乎是不可能发生的,全国一等奖的论
文必须模型、方法合理,结果基本可
本节主要介绍 Matlab的一维和 二维插值命令,大家务必要通过上机 操作熟悉这些命令,同时还要初步掌 握Matlab的基础知识与技能。
2020/1/20
31
1. 一维插值 一维插值命令是interp1, 其基本
格式为yi= interp1(x,y,xi, 'method')。 x,y为插值点,xi,yi为被插值点和
最低点。
2020/1/20
23
上述问题可归结为“已知函数在
某区间(域)内若干点处的值, 求函数在
该区间(域)内其它点处的值”,这种
问题适宜用插值方法解决。
一维插值问题可描述为:已知函
数在x0, x1, …, xn处的值y0, y1,…, yn, 求简单函数 p(x),使 p(xi) = yi。
通常取 p(x)为多项式。
因此,在实际中不应使用七次以 上的插值。
避免Runge现象的常用方法是: 将插值区间分成若干小区间,在小区 间内用低次(二次,三次)插值,即分 段低次插值,如样条函数插值。
2020/1/20
28
样条插值结果
2020/1/20
29
三、Matlab插值
Maple和Matlab都可以进行插值 计算,Maple的一维插值计算较为便 捷,而Matlab的二维插值功能较强, 还能进行散乱点插值。
2020/1/20
15
强大插值功能的三维图形(曲面图, 等高线等)绘制软件Surfer。
第二部分首先介绍了拟合问题、 拟合原理与步骤,然后介绍了Origin 中的拟合功能及专业拟合软件Table Curve 2D, 3D。
第三部分给出了一个应用插值和 拟合的建模实例。
2020/1/20
16
本讲首先要理解插值问题和拟合 问题的特点,其次要了解插值和拟合 的 原 理 与 方 法 , 还 要 熟 悉 Matlab 插 值 与 绘 图 的 相 关 命 令 , 掌 握 Matlab 编程的基本知识与技能,特别要熟练 掌握利用Surfer, Origin, TableCurve 等软件进行插值和拟合的技能。
2020/1/20
19
二、插 值
1. 插值问题 例1 在一天24小时内,从零点开
始每间隔2小时测得的环境温度数据 分别为
12,9,9,10,18 ,24,28, 27,25,20,18,15,13, 推测中午1点温度,并做出24小时温 度变化曲线图。
2020/1/20
21
例2 已知飞机下轮廓线上数据如 下,画出飞机下轮廓线。
培训内容覆盖了数学建模中大部
分常用的数学方法。通过刻苦钻研,
努力学习,掌握了上述方法后,必将
大大提高建立数学模型和运用计算机
解决实际问题的综合能力,也一定会
在全国建模大赛中取得较好成绩。
2020/1/20
4
培训方式 由于培训内容众多且有相当难度, 而培训时间又较短,所以如果学生不 事先认真预习相关内容,那么在课堂 上不可能完全听懂老师所讲内容,大 部分学生会云山雾罩,一头雾水,从 而使得培训效果大打折扣。 综上,强烈建议学生课前认真、
下面给出本讲学习大纲,以方便
2020/1/20
17
大家学习。 1. 插值问题和拟合问题的特点及
区别;在实际中如何正确地判断、选 择插值或拟合方法?
2. 高次插值的Runge现象及避免 方法;
3. Matlab一维插值(interp1), 二 维插值(interp2), 散乱点插值(griddat
2020/1/20
成的软件和程序不可能解决建模中的
所有问题。通过上机训练,掌握一些
基本编程和计算技能(如用Matlab做
数据处理、画图, 用Maple做简单的
解析计算),对于参加建模竞赛是绝
对必要的。
2020/1/20
10
上机前,培训老师会布置上机练
习,提供相关软件或程序,讲解关键
步骤和程序语句。上机过程中,辅导
老师负责解答学生的疑难问题。
2020/1/20
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;
2020/1/20
37
for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end
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数学建模培训
培训内容与方式
培训内容
1. 插值与拟合; 2. 灰色系统; 3. 层次分析法;(重要) 4. 模糊数学方法;(重要) 5. 多元统计分析与Spss;(重要) 6. 数学规划与Lingo;(重要) 7. 图论模型及其Matlab程序;
2020/1/20
3
8. 建模论文写作;
9. 建模案例讲评。
上机操作与练习
众所周知,在建模竞赛中,能否
熟练使用相关数学软件是能否取得好
成绩的关键之一。因此,数学软件的
培训应该是建模培训的重要内容。
建模中常用的数学软件有Matlab, Spss, Lingo, Maple等。
由于培训时间有限,在课堂上只
能简单介绍Spss和Lingo,而Matlab和
2020/1/20
2020/1/20
5
反复研读授课PPT和其它相关资料,
然后带着疑问和兴趣再听老师讲解,
这样才能保证培训效果。
培训PPT及软件、程序下载邮箱:
austmathmodeling@163.com
MM: matlabmaple
培训以讲解为主,学生如有疑问,
可在下午上机辅导时向老师咨询。
2020/1/20
6
X 0 3 5 7 9 11 12 13 14 15 Y 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
y
机翼下



轮廓线


x
2020/1/20
22
例3 测得平板表面3*5网格点处的 温度分别为:
82 81 80 82 84
79 63 61 65 81
84 84 82 85 86 做出平板表面的温度分布曲面z=f(x,y) 的图形及等温线,并求出温度最高和
end s=p*y0(k)+s; end y(i)=s; end
2020/1/20
38
2020/1/20
39
例2的程序较复杂,说明如下: (1) 程序依次用Lagrange、分段 线性和三次样条三种插值方法进行了 计 算 , 其 中 Lagrange 高 次 插 值 明 显 出现了Runge现象; (2) 因为Matlab没有Lagrange高 次插值功能,所以程序中单独编写了 高次插值函数lagrange,然后调用;
8
Maple只能在上机过程中穿插介绍。
几乎所有的数学方法最终都要用
数学软件和程序实现,所以上机练习
是与课堂讲授同等重要的培训内容。
上机训练的主要目的和内容是通
过练习,掌握实现各类数学方法的数
学软件和程序。
上机所用数学软件和程序主要由
2020/1/20
9
教师提供,学生只要会用即可。
但需要提醒同学们注意的是,现
插值函数在(x,y)处的值;xi,yi为被插 值点, zi为输出的插值结果,可理解 为插值函数在(xi,yi)处的值;x,y为向
20来自百度文库0/1/20
42
量,xi,yi为向量或矩阵,而z和zi则为 矩阵。
'method'表示插值方法:'neares t'—最邻近插值, 'linear'—双线性插 值, 'spline'—双三次样条插值,'cubi c'—双立方插值,黙认双线性插值。
2020/1/20
24
可以用范德蒙行列式和克莱姆法 则证明(习题集第一章最后一题):
在x0, x1, …, xn处取值y0, y1, …, yn 的多项式存在且唯一,即插值问题的 解唯一存在。
常 用 的 插 值 方 法 有 Lagrange 插 值法和Newton插值法。
2020/1/20
25
2. 高次插值的Runge现象 在研究插值问题的初期,所有人
信、正确,写作清晰、规范。
一句话,建模不能全靠忽悠。
2020/1/20
12
第一讲 插值与拟合
一、引 言
插值与拟合属数值分析中函数逼 近内容。在数学建模竞赛中,插值与 拟合是一种基本的数据分析手段,被 公认为建模中的常用算法之一。
本讲第一部分首先介绍了插值问 题、插值原理、高次插值的Runge现 象 , 然 后 讲 解 了 Matlab 中 的 一 维 和 二维插值命令,最后简要介绍了具有
18
a)及相关命令(surf, mesh, meshgrid, contour); 4. Surfer绘图的步骤; 5. 了解Surfer中几种插值的意义; 6. Origin和TableCurve拟合的步骤; 7. Matlab基础知识, 如数组及运算、 调用,循环与控制语句,绘图相关命 令,函数(m文件)的定义和调用等。
插 值 结 果 , x,y 和 xi,yi 通 常 为 向 量 ; 'method' 表 示 插 值 方 法 : 'nearest'— 最 邻 近 插 值 , 'linear'— 线 性 插 值 , 'spline'—三次样条插值,'cubic'—立
2020/1/20
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)
2020/1/20
40
(3) 程序涉及到了数组、循环和 条件语句、子函数的定义与调用以及 一些绘图命令(subplot,grid,title)等。
请大家通过上机理解、掌握上述 命令,特别是函数的定义及调用。
2020/1/20
41
2. 二维插值 二维插值命令是interp2, 基本格
式为zi=interp2(x,y,z,xi,yi,'method')。 二维插值命令的使用较复杂。 x,y,z为插值点,z可以理解为被
都想当然地认为插值多项式的次数越 高,插值精度越高。
Runge 通过对一个例子的研究发 现,上述结论仅仅在插值多项式的次 数不超过七时成立;插值多项式的次 数超过七时,插值多项式会出现严重
2020/1/20
26
的振荡现象,称之为Runge现象。
p10 ( x)
2020/1/20
1 f (x)
1 25 x2 27
2020/1/20
33
请理解掌握程序中的每个语句, 并改变插值方法,观察图形变化。
2020/1/20
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);
相关文档
最新文档