初等模型与数据处理-数据处理(数学建模课件)_第1页
初等模型与数据处理-数据处理(数学建模课件)_第2页
初等模型与数据处理-数据处理(数学建模课件)_第3页
初等模型与数据处理-数据处理(数学建模课件)_第4页
初等模型与数据处理-数据处理(数学建模课件)_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

插值初等模型与数据处理在实际问题观测中,如野外地质勘探、地下水水位监测、地形地貌测绘、医学断层图像扫描等,迫于成本过高或观测手段限制,仅能得到部分离散、不规则、稀疏的观测点位的观测值科学研究与工程实践中常遇到的问题:如何填补缺失点的数据或者估算某些非观测点位的函数值,或者用有限个点位的观测值描绘一个光滑的曲线(曲面)基本特点:实际问题是一个光滑的曲线(曲面),但函数关系表达式未知,仅根据部分观测点的数据,而希望给出某种方法估算出整个观测区域内任意非观测点的函数值解决方法:寻求一个便于计算的函数表达式来近似逼近实际问题数学上解决此类问题的常用方法:插值与拟合知识点插值问题引入插值方法一、问题引例

二、插值方法

求任一插值点处的插值

二、插值方法

一维插值问题二、插值方法

解决此问题的拉格朗日插值多项式公式如下1.拉格朗日插值二、插值方法

称为拉格朗日插值基函数.

二、插值方法两点一次(线性)插值多项式:三点二次(抛物)插值多项式:二、插值方法2.分段线性插值xjxj-1xj+1x0xnxoy分段线性插值函数二、插值方法计算量与n无关;n越大,误差越小.二、插值方法例1用分段线性插值法求插值,并观察插值误差.(1)在[-6,6]中平均选取5个点作插值(4)在[-6,6]中平均选取41个点作插值(2)在[-6,6]中平均选取11个点作插值(3)在[-6,6]中平均选取21个点作插值二、插值方法例1用分段线性插值法求插值,并观察插值误差.(1)在[-6,6]中平均选取5个点作插值(4)在[-6,6]中平均选取41个点作插值(2)在[-6,6]中平均选取11个点作插值(3)在[-6,6]中平均选取21个点作插值二、插值方法例1用分段线性插值法求插值,并观察插值误差.(1)在[-6,6]中平均选取5个点作插值(4)在[-6,6]中平均选取41个点作插值(2)在[-6,6]中平均选取11个点作插值(3)在[-6,6]中平均选取21个点作插值二、插值方法例1用分段线性插值法求插值,并观察插值误差.(1)在[-6,6]中平均选取5个点作插值(4)在[-6,6]中平均选取41个点作插值(2)在[-6,6]中平均选取11个点作插值(3)在[-6,6]中平均选取21个点作插值二、插值方法分段线性插值精度与分点的个数有关二、插值方法3.三次样条插值在工程技术实践中,很多问题对插值函数的光滑性有较高要求.如飞机的机翼外形,内燃机的进、排气门的凸轮曲线等,都要求曲线(曲面)具有较高的光滑程度.样条插值要解决的问题:要求曲线(曲面)连续与连续的曲率样条原本是工程设计中使用的一种绘图工具,它是富有弹性的细木条或细金属条.绘图员利用它把一些已知点连接成一条光滑曲线,并使连接点处有连续的曲率.二、插值方法

折线是一次样条曲线

二、插值方法xyxi-1xiab

二、插值方法三次样条插值比分段线性插值更光滑xyxi-1xiab二、插值方法

由条件(2)式二、插值方法容易看出,共4n-2个方程.由条件(3)式

3n-3个方程n+1个方程三、样条插值

小结介绍了插值问题引入1介绍了插值方法:拉格朗日插值、分段线性插值、三次样条插值2用matlab求解插值初等模型与数据处理知识点插值方法的命令插值例题讲解vq=interp1(x0,y0,xq,method,extrapolation)x0为已知的插值节点,y0是对应于x0的函数值.xq是所求函数值的节点坐标,返回值vq是求得的节点xq处的函数值.method指定插值的方法,默认为线性插值,常用的取值有:

'nearest'最近邻插值; 'linear'线性插值; 'spline'三次样条插值,函数是二次光滑的; 'cubic'立方插值,函数是一次光滑的.extrapolation是外插策略(可省略)一、插值算法命令1.interp1函数三次样条插值还可以函数csape,csape的返回值是pp形式.其调用格式如下:pp=csape(x0,y0)使用默认的边界条件,即Lagrange边界条件.pp=csape(x0,y0,conds,valconds)中的conds指定插值的边界条件,其值可为 'complete'边界为一阶导数,一阶导数的值在valconds参数中给出 'not-a-knot'非扭结条件 'periodic'周期条件'second'边界为二阶导数,二阶导数的值在valconds参数中给出,

若忽略valconds参数,二阶导数的缺省值为[0,0]一、插值算法命令2.三次样条插值csapeconds(i)=j的含义是给定端点i的j

阶导数,即conds的第一个元素表示左边界的条件,第二个元素表示右边界的条件conds=[2,1]表示左边界是二阶导数,右边界是一阶导数,对应的值由valconds给出利用pp结构的返回值,要求插值点的函数值,需要调用函数fnvalpp结构还可以计算返回值函数的导数和积分,命令分别为fnder,fnint一、插值算法命令调用格式函数功能pp1=csape(x0,y0)计算插值函数pp2=fnder(pp1)计算pp1对应函数的导数,返回值pp2也是pp结构pp3=fnint(pp1)计算pp1对应函数的积分,返回值pp3也是pp结构y=fnval(pp1,x)计算pp1对应的函数在x点的取值二、典型例题讲解

例1在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24.试估计每隔1/10小时的温度值.hours=1:12;temps=[589152529313022252724];h=1:0.1:12;t=interp1(hours,temps,h,'spline');%(直接输出数据将是很多的)plot(hours,temps,'+',h,t,hours,temps,'r:')%作图二、典型例题讲解xy机翼下轮廓线例2

已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。二、典型例题讲解x0=[035791112131415];y0=[01.21.72.02.12.01.81.21.01.6];x=0:0.1:15;y1=interp1(x0,y0,x);y2=interp1(x0,y0,x,'nearest');y3=interp1(x0,y0,x,'spline')subplot(3,1,1)plot(x0,y0,'k+',x,y1,'r')gridsubplot(3,1,2)plot(x0,y0,'k+',x,y2,'r')gridsubplot(3,1,3)plot(x0,y0,'k+',x,y3,'r')二、典型例题讲解

二、典型例题讲解

小结介绍了插值方法的matlab的命令1介绍了插值方法的例题2用matlab求解数据拟合初等模型与数据处理知识点线性拟合matlab命令非线性拟合matlab命令一、线性拟合命令

a=polyfit(x,y,m)多项式在x处的值y可用以下命令计算:

y=polyval(a,x)输出拟合多项式系数a=[a1,…am,

am+1]

(数组)输入同长度的数组x,y拟合多项式次数例1

对下面一组数据作二次多项式拟合分析:要求出二次多项式

00.10.20.30.40.50.60.70.80.91-0.4471.9783.286.167.087.347.669.569.489.3011.2一、线性拟合命令1)输入以下命令:

x=0:0.1:1;y=[-0.4471.9783.286.167.087.347.66

9.569.489.3011.2];A=polyfit(x,y,2)z=polyval(A,x);plot(x,y,'k+',x,z,'r')%作出数据点和拟合曲线的图形2)计算结果:A=-9.810820.1293-0.0317解:多项式拟合的命令为一、线性拟合命令

引题1已知热敏电阻数据:求60

0C时的电阻R.

R=at+ba,b为待定系数一、线性拟合命令解:1)程序t=[20.532.7517395.7];R=[7658268739421032];a=polyfit(t,R,1)y=polyval(a,t)plot(t,R,'r+',t,y)xlabel('温度')%为X轴注释,注释写成字符串ylabel('电阻')%为Y轴注释,注释写成字符串title('电阻与温度的关系')

一、线性拟合命令二、非线性拟合命令MATLAB非线性拟合的主要命令有fit(要用fittype定义函数类),lsqcurvefit,nlinfit等命令.fit函数使用很方便,但只能拟合一元和二元函数.lsqcurvefit

可以拟合任意多个自变量的函数,并且可以约束未知参数的下界和上界.nlinfit函数无法约束参数的界限.二、非线性拟合命令已知数据点:xdata=(xdata1,xdata2,…,xdatan),

ydata=(ydata1,ydata2,…,ydatan)

二、非线性拟合命令输入格式为:theta=lsqcurvefit(fun,theta0,xdata,ydata,lb,ub,options)

二、非线性拟合命令该问题即解最优化问题:例2

用下面一组数据拟合

二、非线性拟合命令1)程序:xdata=100:100:1000;ydata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];c0=rand(1,3);f=@(c,x)c(1)+c(2).*exp(-0.02*c(3)*x)%a=c(1),b=c(2),k=c(3),c=lsqcurvefit(f,c0,xdata,ydata,[],[])y=f(c,xdata)plot(xdata,ydata,'r+',xdata,y)

二、非线性拟合命令2)运算结果为:f=0.00450.00490.00530.00550.0058

0.00590.00610.00620.00630.0064c=0.0069-0.00280.09363)结论:a=

0.0069b=-0.0028k=0.0936(1)程序中定义匿名函数时,必须使用“.*”,否则会出错.(2)对于一些非线性拟合,有时感觉像在凑数,MATLAB每次运行

的答案是不一样的.二、非线性拟合命令

t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01引例2

已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg)求血药浓度随时间的变化规律c(t).二、非线性拟合命令t=[0.250.511.523468];c=[19.2118.1515.3614.1012.899.327.455.243.01];y=log(c);a=polyfit(t,y,1)k=-a(1)c0=exp(a(2))

1)程序:二、非线性拟合命令

二、非线性拟合命令两种方法对比

非线性拟合转化成线性拟合是一个非常重要的方法.小结介绍了线性拟合matlab的命令1介绍了非线性拟合matlab的命令2举例巩固拟合matlab命令的应用3最小二乘拟合初等模型与数据处理知识点数据拟合引入最小二乘拟合插值与拟合的区别一、数据拟合引入

引题1已知热敏电阻数据:求60

0C时的电阻R.

R=at+ba,b为待定系数一、数据拟合引入

t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01引例2

已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg)求血药浓度随时间的变化规律c(t).二、最小二乘拟合在科学计算中常要建立实验数据的数学模型.给定的实验数据,需要用比较简单与合适的函数逼近(拟合)实验数据.这种逼近特点:适度的精确度与实验数据有小的误差对于某些问题,可能有些特殊的信息能用来作为实验数据的数学模型二、最小二乘拟合

+++++++++xy

(xi,yi)i二、最小二乘拟合

二、最小二乘拟合1.线性最小二乘法

二、最小二乘拟合

化简得记二、最小二乘拟合超定方程组:方程个数大于未知量个数的方程组即Ra=y其中

如果有向量a使得

温馨提示

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

评论

0/150

提交评论