插值与拟合 一、插值的基本原理 二、拟合的基本原理 三、插值与拟合的关系 四、插值的MATLAB实现 五、拟合的Matlab实现.

Slides:



Advertisements
Similar presentations
简单迭代法的概念与结论 简单迭代法又称逐次迭代法,基本思想是构造不动点 方程,以求得近似根。即由方程 f(x)=0 变换为 x=  (x), 然后建立迭代格式, 返回下一页 则称迭代格式 收敛, 否则称为发散 上一页.
Advertisements

第 9 课 激素调节 浙教版科学总复习 考试内容考试要求 生命活动的调节生命活动的调节 1 、植物的感应性 1 )列举植物的感应性现象 a 2 )描述植物生长素发现的历史, 体验科学发现的过程 a 2 、人体生命活动的调节 列举激素对人体生命活动调节 的作用 a.
排列 组合 概率 会考复习. 排列、组合是不同的两个事件,区别的 标志是有无顺序,而区分有无顺序的办法是: 把问题的一个选择结果解出来,然后交换这 个结果中任意两个元素的位置,看是否会产 生新的变化,若有新变化,即说明有顺序, 是排列问题;若无新变化,即说明无顺序, 为组合问题 知识要点.
扬州环境资源职业技术学院基础部 一、微分的定义 二、微分的几何意义 四、微分在近似计算中的应用 第五节 函数的微分 三、基本初等函数的微分公式与微分运算 法则.
第三章 微分中值定理与 导数的应用. 3.1 微分中值定理 3.3 洛必达法则 3.2 泰勒公式 3.4 函数的单调性 3.9 曲率 3.8 函数图形的描绘 3.5 函数的极值 3.7 曲线的凹凸性及拐点 3.6 函数的最值及其应用.
北大附中深圳南山分校 倪 杰 2016年8月25日星期四 2016年8月25日星期四 2016年8月25日星期四 Ox y 1 1 y=a x (a>1)
1.3 二项式定理. [ 题后感悟 ] 方法二较为简单,在展开二项式之前根据二项 式的结构特征进行适当变形,可使展开多项式的过程简化.记 准、记熟二项式 (a + b) n 的展开式,是解答好与二项式定理有关 问题的前提,对较复杂的二项式,有时可先化简再展开,会更 简便.
首页 全国高等学校招生考试统一考试 监考员培训 广州市招生考试委员会办公室.
大学物理实验 第一讲 南昌大学物理实验中心 2013年2月.
第五章 企业所得税、个人所得税.
2011年度十佳、先进员工 旅游活动(二) 九鲤溪与太姥山游记.
人口增长.
第四章:长期股权投资 长期股权投资效果 1、控制:50%以上 有权决定对方财务和经营.
高等数学 A (一) 总复习(2).
专利技术交底书的撰写方法 ——公司知识产权讲座
这是一个数字的 乐园 这里埋藏着丰富的 宝藏 请跟我一起走进数学的 殿堂.
第五章 主张超尘绝俗的 佛家.
內地遊學聯盟. 內地遊學聯盟 山東省 著名景點 曲阜 泰山 濰坊 濟南 青島 著名學校 山東大學 中國海洋大學 昌樂第二中學 杜郎口中學 青島大學.
第一章 会计法律制度 补充要点.
二、个性教育.
数据处理专题 数据处理是指用简明而严格的方法把获得的实验数据所代表的事物内在的规律提炼出来,得出结果的加工过程,包括数据记录、描绘曲线,从带有误差的数据中提取参数,验证和寻找经验规律,外推实验数据等等。本章介绍一些最基本的数据处理方法。
第8章 相关分析 一元线性相关分析 多元线性相关分析 相 关 分 析 相关系数 相关指数 直线相关 曲线相关 相关分析概述 相关分析的意义
新课程背景下高考数学试题的研究 ---高考的变化趋势
第 二讲  思想方法概述 角度一 专题一 应用角度例析 角度二 角度三 通法归纳领悟 专题专项训练.
第二课 扬起自信的风帆 我能“行”.
第2章 插值 2.1 拉格朗日插值 2.2 插值余项 2.3 分段插值 2.4 牛顿插值 2.5 等距结点插值
地價稅簡介.
新世纪版(数学) 七年级(上)教材培训 青岛试验区.
致亲爱的同学们 天空的幸福是穿一身蓝 森林的幸福是披一身绿 阳光的幸福是如钻石般耀眼 老师的幸福是因为认识了你们 愿你们努力进取,永不言败.
命题与四种命题 高二数学 选修2-1 第一章 常用逻辑用语.
1.1.2 四 种 命 题.
一、情境设置 思考: 下列语句的表述形式有什么特点? 你能判断它们的真假吗? (1)若直线a//b,则直线a和直线b无公共点;(2)2+4=7; (3)垂直于同一条直线的两个平面平行; (4)若x2=1,则x=1; (5)两个全等三角形的面积相等; (6)3能被2整除.
生育保险 朝阳社保中心支付部:黄玮.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
“08高考化学学业水平(必修科目)测试的命题和教学对策研究”
遺傳 龍生龍,鳳生鳳 老鼠的兒子會打洞.
第五章 定积分及其应用.
第6章 定 积 分 §1定积分概念 §2 牛顿—莱布尼茨公式 §3 可积条件 §4 定积分的性质 §5 微积分学基本定理 §6 定积分的计算
第四节 统计初步和数据整理 在这一节中我们将介绍统计学的基本知识。统计学是一门古老而又年轻的学科,例如为了征兵和收税的早期的人口统计,甚至在公元前就出现了。但是近代数理统计学,却主要是从20世纪初开始发展的。其主要特征是运用概率论的知识进行统计推断。即从所研究的全部对象中抽取部分个体,并通过对这部分个体的观察和分析,对全部对象的有关问题作出推断。数理统计学已经建立了一套系统的理论,有着广泛的应用。下面先介绍统计学中最基本的概念。
世上孩子都是宝, 男孩女孩都一样。.
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
§3.2 数据资料与拟合模型.
第八章二元一次方程组 8.3实际问题与二元一次方程组.
2.3 变量间的相关关系 变量之间的相关关系 两个变量的线性相关 第二课时.
第八章二元一次方程组 8.3实际问题与二元一次方程组 (第3课时).
正、反比例意义的巩固练习.
必备职业素养 主讲:程华.
《环游西藏》之二 碧玉湖 音乐《白塔》 摄制:C&Y.
東亞運動會 Be the legend 創造傳奇一刻.
机电类 《自动检测技术及应用》 多媒体课件 (共13章,第一章) 统一书号:ISBN 课程配套网站 或 2012年7月版.
MATLAB数学实验 第四章 函数和方程.
第2课时 指数函数及其性质的应用.
MATLAB及其应用 第三讲 数据处理 授课人:鲍文 在此幻灯片插入公司的徽标 从“插入”菜单 选择图片 找到徽标文件 单击“确定”
第二章 函 数 插 值 — Matlab插值函数.
第一节 相关概述 第二节 积差相关系数 第三节 其他相关系数
导数的应用 ——函数的单调性与极值.
第二节 极限 一、数列极限 定义:.
第一講 函數之圖形與極限 內容: 函數的定義。 函數的表示法。 函數的運算。 函數的圖形。 函數極限的定義。 函數單邊極限的定義。
对质点动力学问题: 建立质点运动微分方程求解。
数学建模与数学实验 回归分析 后勤工程学院数学教研室 2019/5/7.
第 四 章 迴歸分析應注意之事項.
第六章 影像幾何 6.1 數據內插法 假設有4 個數值要放大成8 個數值,該怎麼做? 解出線性係數a、b如下:
导数的几何意义及其应用 滨海中学  张乐.
两个变量的线性相关 琼海市嘉积中学 梅小青.
线性回归.
欢迎乘座远航号! 让我们一起去知识的海洋寻宝吧!
Chapter 1 函數 1.1 函數的定義 1.2 基本函數 1.3 函數的運算 1.4 函數的圖形.
成本會計 在決策中的功能 第四課 1.
Matlab插值与拟合 插值 拟合.
函数与导数 临猗中学 陶建厂.
Presentation transcript:

插值与拟合 一、插值的基本原理 二、拟合的基本原理 三、插值与拟合的关系 四、插值的MATLAB实现 五、拟合的Matlab实现

一、概述 我们经常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,例如数据拟合、参数估计、插值等数据处理算法。此类问题在MATLAB中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。

数据拟合在很多赛题中有应用,与图形处理有关的问题很多与插值和拟合有关系,例如98年美国赛A题,生物组织切片的三维插值处理,94年A题逢山开路,山体海拔高度的插值计算,2003年吵的沸沸扬扬的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理, 2005年的雨量预报的评价的插值计算。2001年的公交车调度拟合问题,2003年的饮酒驾车拟合问题。

插值问题——雨量预报的评价 预测点和实测点的图形 插值后的图形

拟合问题——饮酒驾车 喝两瓶酒的拟合曲线 喝1-5瓶酒的拟合曲线

二、基本概念 在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度。 如果要求这个近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为插值问题。 (不需要函数表达式)

如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法称为数据拟合。(必须有函数表达式) 近似函数不一定(曲线或曲面)通过所有的数据点。

三、插值与拟合的区别和联系 1、联系 都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。 2、区别 插值问题不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。数据拟合要求得到一个具体的近似函数的表达式。

四、插值的使用及求解 4.1 引言 当数据量不够,需要补充,且认定已有数据可信时, 通常利用函数插值方法。 当数据量不够,需要补充,且认定已有数据可信时, 通常利用函数插值方法。 实际问题当中碰到的函数 f (x) 是各种各样的,有的表达式很复杂,有的甚至给不出数学的式子,只提供了一些离散数据,警如,某些点上的函数值和导数值。

4.2 插值方法 选用不同类型的插值函数,逼近的效果就不同,一般有: (1)拉格朗日插值(lagrange插值) (2)分段线性插值 (3)Hermite (4)三次样条插值。

4.3 MATLAB实现插值 Matlab 实现:实现分段线性插值不需要编制函数程序,它自身提供了内部的功能函数 interp1(一维插值) intep2(二维) interp3(三维) intern(n维)

用MATLAB作插值计算 一维插值函数: yi=interp1(x,y,xi,'method') 被插值点 插值方法 xi处的插值结果 插值节点 ‘nearest’ 最邻近插值;‘linear’ 线性插值; ‘spline’ 三次样条插值; ‘cubic’ 立方插值; 缺省时 分段线性插值. 注意:所有的插值方法 都要求x是单调的,并且xi不 能够超过x的范围.

例:从1点12点的11小时内,每隔1小时测量一次温度,测得的温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,24.试估计每隔1/10小时的温度值. hours=1:12; temps=[5 8 9 15 25 29 31 30 22 25 27 24]; h=1:0.1:12; t=interp1(hours,temps,h,'spline'); plot(hours,temps,'+',h,t,hours,temps,'r:') %作图 xlabel('Hour'),ylabel('Degrees Celsius’) To MATLAB (temp)

例 已知飞机下轮廓线上数据如下,求x每改变0.1时的y值.  x y 机翼下轮廓线 To MATLAB(plane) 返回

要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围. 用MATLAB作网格节点数据的插值 z=interp2(x0,y0,z0,x,y,’method’) 被插值点的函数值 插值节点 被插值点 插值方法 ‘nearest’ 最邻近插值; ‘linear’ 双线性插值; ‘cubic’ 双三次插值; 缺省时 双线性插值. 要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围.

例:测得平板表面3×5网格点处的温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形. 1.先在三维坐标画出原始数据,画出粗糙的温度分布曲线图. 输入以下命令: x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; mesh(x,y,temps) 2.以平滑数据,在 x、y方向上每隔0.2个单位的地方进行插值.

再输入以下命令: xi=1:0.2:5; yi=1:0.2:3; zi=interp2(x,y,temps,xi',yi,'cubic'); mesh(xi,yi,zi) 画出插值后的温度分布曲面图. To MATLAB (wendu)

通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较. To MATLAB (moutain) 返回

用MATLAB作散点数据的插值计算 插值节点 被插值点的函数值 被插值点 插值方法 要求cx取行向量,cy取为列向量. 插值函数griddata格式为: cz =griddata(x,y,z,cx,cy,‘method’) 被插值点的函数值 被插值点 插值方法 插值节点 ‘nearest’最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 'v4'- MATLAB提供的插值方法 缺省时, 双线性插值 要求cx取行向量,cy取为列向量.

例 在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)×(-50,150)里的哪些地方船要避免进入.

1.输入插值基点数据 2.在矩形区域(75,200)×(-50,150)进行插值。 3. 作海底曲面图 To MATLAB hd1 1.输入插值基点数据 2.在矩形区域(75,200)×(-50,150)进行插值。 3. 作海底曲面图 4.作出水深小于5的海域范围,即z=5的等高线. 返回

%程序一:插值并作海底曲面图 x =[129.0 140.0 103.5 88.0 185.5 195.0 105.5 157.5 107.5 77.0 81.0 162.0 162.0 117.5 ]; y =[ 7.5 141.5 23.0 147.0 22.5 137.5 85.5 -6.5 -81 3.0 56.5 -66.5 84.0 -33.5 ]; z =[ 4 8 6 8 6 8 8 9 9 8 8 9 4 9 ]; x1=75:1:200; y1=-50:1:150; [x1,y1]=meshgrid(x1,y1); z1=griddata(x,y,z,x1,y1,'v4'); meshc(x1,y1,z1)

海底曲面图

%程序二:插值并作出水深小于5的海域范围。 x1=75:1:200; y1=-50:1:150; [x1,y1]=meshgrid(x1,y1); z1=griddata(x,y,z,x1,y1,'v4'); %插值 z1(z1>=5)=nan; %将水深大于5的置为nan,这样绘图就不会显示出来 meshc(x1,y1,z1)

水深小于5的海域范围

实验作业1 山区地貌:在某山区测得一些地点的高程如下表:(平面区域1200≤x ≤4000,1200≤y ≤3600),试作出该山区的地貌图和等高线图,并对几种插值方法进行比较. 返回

五、拟合的使用及求解 5.1 引言 对于情况较复杂的实际问题(因素不易化简,作用机理不详)可直接使用数据组建模,寻找简单的因果变量之间的数量关系, 从而对未知的情形作预报。这样组建的模型为拟合模型。 拟合模型的组建主要是处理好观测数据的误差,使用数学表达式从数量上近似因果变量之间的关系。拟合模型的组建是通过对有关变量的观测数据的观察、分析和选择恰当的数学表达方式得到的。

5.2 拟合模型的分类 5.2.1 直线拟合 5.2.2 曲线拟合 5.2.3 观察数据修匀 对于已给一批实测数据,由于实测方法、实验环境等一些外界因素的影响,不可避免地会产生随机干扰和误差。我们自然希望根据数据分布的总趋势去剔除观察数据中的偶然误差,这就是所谓的数据修匀(或称数据平滑)问题。

直 线 拟 合 问 题 引 例 1 温度t(ºC) 20.5 32.7 51.0 73.0 95.7 已知热敏电阻数据: 电阻R() 765 826 873 942 1032 已知热敏电阻数据: 求60ºC时的电阻R. 设 R=at+b a,b为待定系数

曲 线 拟 合 问 题 引 例 2 已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg) t (h) 0.25 0.5 1 1.5 2 3 4 6 8 c (g/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01 已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg) 求血药浓度随时间的变化规律c(t). 在直角坐标系下作图如下(plot) MATLAB(aa1)

曲 线 拟 合 问 题 的 提 法 已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…,n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有数据点最为接近,即曲线拟合得最好. + x y (xi,yi) i y=f(x) i 为点(xi,yi) 与曲线 y=f(x) 的距离

曲线拟合问题最常用的解法——线性最小二乘法的基本思路 第一步:先选定一组函数 r1(x), r2(x), …,rm(x), m<n, 令 f(x)=a1r1(x)+a2r2(x)+ …+amrm(x) (1) 其中 a1,a2, …,am 为待定系数. 第二步: 确定a1,a2, …,am 的准则(最小二乘准则): 使n个点(xi,yi) 与曲线 y=f(x) 的距离i 的平方和最小 . 记 问题归结为,求 a1,a2, …,am 使 J (a1,a2, …,am) 最小.

1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: 用MATLAB作线性最小二乘拟合 1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 拟合多项 式次数 输入同长度 的数组x,y 2.多项式在x处的值y可用以下命令计算: y=polyval(a,x)

用多项式拟合的命令 1)输入以下命令: x=0:0.1:1; y=[-0.447 1.978 3.28 6.16 7.08 7.34 … 7.66 9.56 9.48 9.30 11.2]; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,'k+',x,z,'r') %作出数据点和拟合曲线的图形 MATLAB(zxec2) 2)计算结果: A = -9.8108 20.1293 -0.0317

如何预报人口的增长 人口的增长是当前世界上引起普遍关注的问题,并且我们会发现在不同的刊物预报同一时间的人口数字不相同,这显然是由于用了不同的人口模型计算的结果。 我国是世界第一人口大国,基本上地球每九个人中就有一个中国人。有效地控制我国人口的增长是使我过全面进入小康社会、到21世纪中叶建成富强民主文明的社会主义国家的需要。而有效控制人口增长的前提是要认识人口数量的变化规律,建立人口模型,作出较准确的预报。 例:如何预报人口的增长

例如:1949年—1994年我国人口数据资料如下: 年 份xi 1949 1954 1959 1964 1969 1974 1979 1984 1989 1994 人口数yi 5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8 建模分析我国人口增长的规律,预报1999年我国人口数。

模型:y = – 1.93 + 0.146 x 模型一:假设人口随时间线性地增加 模型: 参数估计观测值的模型: 拟合的精度: 误差平方和。 可以算出:a = -283.2320 b=0.1480 模型:y = – 1.93 + 0.146 x

模型二:指数增长模型 可变为 Y = A + BX 则可看成是线性方程,用 polyfit命令计算得: a=2.33, b=0.0179 则所求模型为:

程序如下: x=[1949 1954 1959 1964 1969 1974 1979 1984 1989 1994]; y=[5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8 ]; a=polyfit(x,y,1); x1=[1949:10:1994]; y1=a(2)+a(1)*x1; b=polyfit(x,log(y),1); y2=exp(b(2))*exp(b(1)*x1); plot(x,y,'*') hold on plot(x1,y1,'--r') plot(x1,y2,'-k') legend('原曲线','模型一曲线','模型二曲线')

结论的比较如下表: 年 份 xi 1949 1954 1959 1964 1969 1974 1979 1984 1989 1994 人口数 yi 5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8 模型一值 5.24 5.97 6.70 7.43 8.16 8.90 9.62 10.36 11.09 11.82 误 差 0.16 0.03 0.00 -0.43 -0.06 0.20 0.18 -0.06 0.01 -0.02 模型二值 5.55 6.06 6.62 7.23 7.90 8.64 9.44 10.31 11.26 12.31 误差 -0.15 -0.06 0.08 -0.23 0.20 0.46 0.36 -0.01 -0.13 -0.51

结果分析: (1) Q1 = 0.2915 < 0.7437 = Q2 . 线性模型更适合中国人口的增长。 (2) 预报:1999 年 12.55 亿,13.43 亿 (3) 统计年鉴: 2005 年 13.3 亿, 2010 年 14 亿 模型 I 2005 年13.43 亿, 2010 年14.16 亿 模型 II 2005 年14.94 亿, 2010 年 16.33 亿

用MATLAB作非线性最小二乘拟合 MATLAB提供了求非线性最小二乘拟合的函数:lsqcurvefit.这个命令都要先建立M文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题. 1. lsqcurvefit 已知数据点: xdata=(xdata1,xdata2,…,xdatan), ydata=(ydata1,ydata2,…,ydatan) lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T 中的参变量x(向量),使得

说明:x=lsqcurvefit(‘fun’,x0,xdata,ydata,options); 输入格式为: (1) x = lsqcurvefit (‘fun’,x0,xdata,ydata); (2) x = lsqcurvefit(‘fun’,x0,xdata,ydata,options); (3) x = lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’); (4) [x,options]=lsqcurvefit(‘fun’,x0,xdata,ydata,…); (5) [x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…); (6)[x,options,funval,Jacob]=lsqcurvefit(‘fun’,x0,xdata, ydata,…); 说明:x=lsqcurvefit(‘fun’,x0,xdata,ydata,options); fun是一个事先建立的定义函数F(x,xdata) 的M文件, 自变量为x和xdata 已知数据点 选项见无 约束优化 迭代初值

最小二乘拟合:lsqcurvefit() 例 假设有一组实测数据 xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 yi 2.3201 2.647 2.9707 3.2885 3.6008 3.909 4.2147 4.5191 4.8232 5.1275 假设已知该数据可能满足的原型函数为 试求出满足下面数据的最小二乘解的a,b,c,d的值。

先建立原型函数: function y=f1(a,x) y=a(1)*x+a(2)*x.^2.*exp(-a(3)*x)+a(4); 在命令窗口中输入: >> x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]; >> y=[2.3201 2.647 2.9707 3.2885 3.6008 3.909 4.2147 4.5191 4.8232 5.1275]; >>a=lsqcurvefit(‘f1’,[1;2;2;2],x,y)

完成数学建模竞赛2005年C题(雨量 预报的评价) 实验作业2 完成数学建模竞赛2005年C题(雨量 预报的评价) 返回

谢谢!