大学生数学建模--插值与拟合

合集下载

数学建模插值及拟合详解Word版

数学建模插值及拟合详解Word版

数学建模插值及拟合详解Word版插值和拟合实验⽬的:了解数值分析建模的⽅法,掌握⽤Matlab进⾏曲线拟合的⽅法,理解⽤插值法建模的思想,运⽤Matlab⼀些命令及编程实现插值建模。

实验要求:理解曲线拟合和插值⽅法的思想,熟悉Matlab相关的命令,完成相应的练习,并将操作过程、程序及结果记录下来。

实验内容:⼀、插值1.插值的基本思想·已知有n +1个节点(xj,yj),j = 0,1,…, n,其中xj互不相同,节点(xj, yj)可看成由某个函数 y= f(x)产⽣;·构造⼀个相对简单的函数 y=P(x);·使P通过全部节点,即 P (xk) = yk,k=0,1,…, n ;·⽤P (x)作为函数f ( x )的近似。

2.⽤MATLAB作⼀维插值计算yi=interp1(x,y,xi,'method')注:yi—xi处的插值结果;x,y—插值节点;xi—被插值点;method—插值⽅法(‘nearest’:最邻近插值;‘linear’:线性插值;‘spline’:三次样条插值;‘cubic’:⽴⽅插值;缺省时:线性插值)。

注意:所有的插值⽅法都要求x是单调的,并且xi不能够超过x的范围。

练习1:机床加⼯问题x035791112131415y0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6⽤程控铣床加⼯机翼断⾯的下轮廓线时每⼀⼑只能沿x⽅向和y⽅向⾛⾮常⼩的⼀步。

表3-1给出了下轮廓线上的部分数据但⼯艺要求铣床沿x⽅向每次只能移动0.1单位.这时需求出当x坐标每改变0.1单位时的y坐标。

试完成加⼯所需的数据,画出曲线.步骤1:⽤x0,y0两向量表⽰插值节点;步骤2:被插值点x=0:0.1:15; y=y=interp1(x0,y0,x,'spline');步骤3:plot(x0,y0,'k+',x,y,'r')grid on答: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;y=interp1(x0,y0,x,'spline');plot(x0,y0,'k+',x,y,'r')grid on0510150.511.522.53.⽤MATLAB 作⽹格节点数据的插值(⼆维) z=inte rp2(x0,y0,z0,x,y,’method’) 注:z —被插点值的函数值;x0,y0,z0—插值节点;x ,y —被插值点;method —插值⽅法(‘nearest’ :最邻近插值;‘linear’ :双线性插值; ‘cubic’ :双三次插值;缺省时:双线性插值)。

数学建模插值与拟合

数学建模插值与拟合

数学建模插值与拟合数据插值与拟合插值与插值函数:已知由(可能未知或⾮常复杂)产⽣的⼀批离散数据,且个互异插值节点,在插值区间内寻找⼀个相对简单的函数,使其满⾜下列插值条件:再利⽤已求得的计算任⼀⾮插值节点的近似值,这就是插值。

其中称为插值函数,称为被插函数。

最⼩⼆乘拟合:已知⼀批离散的数据,互不相同,寻求⼀个拟合函数,使与的误差平⽅和在最⼩⼆乘意义下最⼩。

在最⼩⼆乘意义下确定的称为最⼩⼆乘拟合函数。

1)Lagrange插值法a.待定系数法:假设插值多项式,利⽤待定系数法即可求得满⾜插值条件的插值函数。

关键在于确定待定系数。

b.利⽤基函数的构造⽅法⾸先构造个满⾜条件:的次插值基函数,再将其线性组合即可得如下的Lagrange插值多项式:其中c.Lagrange插值余项注:上述两种构造⽅法所得的Lagrange插值多项式是⼀样的,即满⾜插值条件的Lagrange插值多项式是唯⼀的。

2)分段线性插值作分段线性插值的⽬的在于克服Lagrange插值⽅法可能发⽣的不收敛性缺点。

所谓分段线性插值就是利⽤每两个相邻插值节点作线性插值,即可得如下分段线性插值函数:其中特点:插值函数序列具有⼀致收敛性,克服了⾼次Lagrange插值⽅法的缺点,故可通过增加插值节点的⽅法提⾼其插值精度。

但存在于节点处不光滑、插值精度低的缺点。

3)三次样条插值三次样条插值的⽬的在于克服Lagrange插值的不收敛性和提⾼分段线性插值函数在节点处的光滑性。

所谓三次样条插值⽅法就是在满⾜下列条件:a.b.在每个⼦区间上是三次多项式的三次样条函数中寻找满⾜如下插值条件:以及形如等边界条件的插值函数的⽅法。

特点:三次样条插值函数序列⼀致收敛于被插函数,因此可通过增加节点的⽅法提⾼插值的精度。

4)插值⽅法的Matlab实现⼀维数据插值MATLAB中⽤函数interp1来拟合⼀维数据,语法是YI = INTERP1(X,Y,XI,⽅法)其中(X,Y)是已给的数据点,XI 是插值点,其中⽅法主要有'linear' -线性插值,默认'pchip' -逐段三次Hermite插值'spline' -逐段三次样条函数插值其中最后⼀种插值的曲线⽐较平滑例:x=0:.12:1; x1=0:.02:1;y=(x.^2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,'o'); hold on;y1=interp1(x,y,x1,'spline');plot(x1,y1,':')如果要根据样本点求函数的定积分,⽽函数⼜是⽐较光滑的,则可以⽤样条函数进⾏插值后再积分,在MATLAB 中可以编写如下程序:function y=quadspln(x0,y0,a,b)f=inline(‘interp1(x0,y0,x,’’spline’’)’,’x’,’x0’,’y0’);y=quadl(f,a,b,1e-8,[],x0,y0);现求six(x)在区间[0,pi]上的定积分,只取5点x0=[0,0.4,1,2,pi];y0=sin(x0);I=quadspln(x0,y0,0,pi)结果得到的值为 2.01905,精确值为2⼆元函数插值:MATLAB中⽤函数interp2来拟合⼆维⽹格(X,Y)上的数据Z,语法是YI = INTERP2(X,Y, Z,XI, YI,⽅法)其中(X,Y,Z)是已给的数据点,(XI,YI)是插值点坐标,其中⽅法主要有'linear' -线性插值,默认'pchip' -逐段三次Hermite插值'spline' -逐段三次样条函数插值其中最后⼀种插值的曲⾯⽐较平滑例:[x,y]=meshgrid(-3:.6:3,-2:.4:2);z=(x.^2-2*x).*exp(-x.^2-y.^2-x..*y);[x1,y1]=meshgrid(-3:.2:3,-2:.2:2);%⽣成⽹格,x1和y1均为同样size的矩阵z1=interp2(x,y,z,x1,y1,’spline’); %z1是矩阵,size 和x1,y1相同surf(x1,y1,z1);axis([-3,3,-2,2,-0.7,1.5]);-33如果数据不是在⽹格上取的,则可⽤函数griddata 来解决语法是YI = griddata(X,Y, Z ,XI, YI ,‘v4’)其中(X , Y ,Z )是已给的数据点,(XI ,YI )是插值点坐标,其中除了⽅法‘v4’外还有 'linear' -线性插值,默认 'cublc' -逐段三次Hermite 插值 'nearest' 其中‘v4’⽅法⽐较好例x=-3+6*rand(200,1); %⽣成随机点的x坐标向量xy=-2+4*rand(200,1); %⽣成随机点的y坐标向量yz=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); % 上述点的样本值向量z[x1,y1]=meshgrid(-3:.2:3,-2:.2:2); %⽣成⽹格,x1和y1均为同样size的矩阵z1=griddata(x,y,z,x1,y1,’v4’);surf(x1,y1,z1);axis([-3,3,-2,2,-0.7,1.5]);⽣成的图类似上图。

插值与拟合

插值与拟合

且 f(1.5) ≈L1(1.5) = 0.885。
Lagrange插值法的缺点
• 多数情况下,Lagrange插值法效果是不错的, 但随着节点数n的增大,Lagrange多项式的次 (Runge)现象。
• 例:在[-5,5]上用n+1个等距节点作插值多项 式Ln(x),使得它在节点处的值与函数y = 1/(1+25x2)在对应节点的值相等,当n增大时, 插值多项式在区间的中间部分趋于y(x),但 对于满足条件0.728<|x|<1的x, Ln(x)并不趋 于y(x)在对应点的值,而是发生突变,产生 剧烈震荡,即Runge现象。
总结
• 拉格朗日插值:其插值函数在整个区间 上是一个解析表达式;曲线光滑;收敛 性不能保证,用于理论分析,实际意义 不大。
• 分段线性插值和三次样条插值:曲线不 光滑(三次样条已有很大改进);收敛 性有保证;简单实用,应用广泛。
1.2 二维插值
• 二维插值是基于一维插值同样的思想, 但是它是对两个变量的函数Z=f(x,y)进 行插值。
• n=5; • x0=-1:1/(n-1):1;y0=1./(1+25*x0.^2);y1=lagr(x0,y0,x); • subplot(2,2,2), • plot(x,z,'r-',x,y,'m-'),hold on %原曲线 • plot(x,y1,'b'),gtext('L8(x)','FontSize',12),pause %Lagrange曲线
基函数为
l0 (x)
x x1 x0 x1
x2 1 2
2
x
l1(x)
线性插值函数为

数学建模_插值与拟合总结

数学建模_插值与拟合总结

y0 y1
⎪⎩a0 + a1xn + a2 xn2 + L + an xnn = yn
记此方程组的系数矩阵为 A ,则
(3)
1 x0 x02 L x0n det( A) = 1 x1 x12 L x1n
LLLLLLL
1 xn xn2 L xnn 是范德蒙特(Vandermonde)行列式。当 x0 , x1,L, xn 互不相同时,此行列式值不为零。因 此方程组(3)有唯一解。这表明,只要 n + 1 个节点互不相同,满足插值要求(2)的
z=x(i); s=0.0; for k=1:n
p=1.0; 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
-176-
1.2 牛顿(Newton)插值 在导出 Newton 公式前,先介绍公式表示中所需要用到的差商、差分的概念及性质。 1.2.1 差商
=
f0
+
Δf 0 h
(x − x0 ) + L +
Δn f0 n! h n
( x − x0 )( x − x1)L( x − xn−1)
若令 x = x0 + th ,则上式又可变形为
Nn (x0
+ th)
=
f0
+ tΔf0
+L +
t(t
− 1)L(t n!
−n
+ 1) Δn
f0
上式称为 Newton 向前插值公式。
f [x, x0 , x1] = f [x0 , x1, x2 ] + ( x − x2 ) f [x, x0 , x1, x2 ] LL

数学建模插值与拟合实验题

数学建模插值与拟合实验题

数学建模插值与拟合实验题
1.处理2021年大学生数学建模竞赛a题:“中国人口增长预测”附件中的数据,得
到以下几个问题的拟合结果,并绘制图形
(1)将1994~2022岁婴儿的性别比设为2022,预测性别比例为2022~2022。

(2)生育率随年龄的变化而变化,试以生育年龄为自变量,生育率为因变量,对各
年的育龄妇女生育率进行拟合;
(3)根据时间分布分析城镇、城镇的生育率,以时间为自变量,以生育率为因变量,拟合城镇、城镇的生育率,并将生育率从2022预测到2022。

(4)将某年的城镇化水平pu(t)定义为当年的城镇人口数与总人口数之
Karmeshu(1992)发现,自20世纪50年代以来,随着经济发展水平的提高,发达国
家城市人口的增长速度一直快于农村地区。

但是,随着城市化水平的提高,达到100%,速度将会放缓。

城市化水平的增长曲线粗略地表现为“S”型Logistic曲线〔4〕,对中国
人口1%的调查数据进行了曲线拟合,从附录2中给出了2001~2022的数据,得到了曲线,并绘制了城市化水平从2001到2050的曲线。

2.处理2021年大学生数学建模竞赛a题:“城市表层土壤重金属污染分析”附件中
的数据,完成下列问题
(1)以城区采样点为插值节点,绘制城区地形图和等高线图;(2)绘制城区8种
重金属浓度的空间分布图。

并指出最高和最低浓度点的位置。

插值的方法可用三次插值、kriging插值、shepard插值等。

工具可用matlab,也可
用surfer软件实现。

数学建模之插值与拟合

数学建模之插值与拟合

matlab中拟合的函数
非线性曲线拟合 Matlab中对于多项式拟合,有现成的函数
c = lsqcurvefit ( ′fun′, x0, xdata, ydata)
matlab中拟合的函数
非线性曲线拟合例题
对下面的x、y进行数据拟合
x=[3.6,7.7,9.3,4.1,8.6,2.8,1.3,7.9,10,5.4]; y=[16.5,150.6,263.1,24.7,208.5,9.9,2.7,163.9,325,54.3];
最小二乘法
线性最小二乘法是解决曲线拟合最常用的方法,基本 思路是,令
f (x) a1r1(x) a2r2 (x) amrm (x) • 其中,rk(x)是事先选定的一组线性无关的函数,ak是待定系
数(k=1,2,...,m,m<n)。拟a合准则是使yi,i=1,2,3...,n,与f (xi )
• 求:利用最小二乘法求得上述拟合函数
求解方法
(1)做散点图,通过散点图判断函数为:y=ax+b
(2)根据最小二乘法原理可知,即使下式中M最小
10
M yi axi b2
i 1
(3)把M看作是自变量为a和b的函数,由多元函数取最值
的条件可知:
M M
a b
a, a,
b b
0 0
M
a
M
b
目录
1
插值法与拟合法
2 matlab中插值的函数
3 matlab中拟合的函数 4 插值与拟合的运用
插值法与拟合法的基本介绍
插值法:求过已知有限个数据点的近似函数。
拟合法:已知有限个数据点,求近似函数,不要求
过已知数据点,只要求在某种意义下它在这些点上 的总偏差最小。

数学建模案例分析-- 插值与拟合方法建模1数据插值方法及应用

数学建模案例分析-- 插值与拟合方法建模1数据插值方法及应用

第十章 插值与拟合方法建模在生产实际中,常常要处理由实验或测量所得到的一批离散数据,插值与拟合方法就是要通过这些数据去确定某一类已经函数的参数,或寻求某个近似函数使之与已知数据有较高的拟合精度。

插值与拟合的方法很多,这里主要介绍线性插值方法、多项式插值方法和样条插值方法,以及最小二乘拟合方法在实际问题中的应用。

相应的理论和算法是数值分析的内容,这里不作详细介绍,请参阅有关的书籍。

§1 数据插值方法及应用在生产实践和科学研究中,常常有这样的问题:由实验或测量得到变量间的一批离散样点,要求由此建立变量之间的函数关系或得到样点之外的数据。

与此有关的一类问题是当原始数据),(,),,(),,(1100n n y x y x y x 精度较高,要求确定一个初等函数)(x P y =(一般用多项式或分段多项式函数)通过已知各数据点(节点),即n i x P y i i ,,1,0,)( ==,或要求得函数在另外一些点(插值点)处的数值,这便是插值问题。

1、分段线性插值这是最通俗的一种方法,直观上就是将各数据点用折线连接起来。

如果b x x x a n =<<<= 10那么分段线性插值公式为n i x x x y x x x x y x x x x x P i i i i i i i i i i ,,2,1,,)(11111 =≤<--+--=-----可以证明,当分点足够细时,分段线性插值是收敛的。

其缺点是不能形成一条光滑曲线。

例1、已知欧洲一个国家的地图,为了算出它的国土面积,对地图作了如下测量:以由西向东方向为x 轴,由南向北方向为y 轴,选择方便的原点,并将从最西边界点到最东边界点在x 轴上的区间适当的分为若干段,在每个分点的y 方向测出南边界点和北边界点的y 坐标y1和y2,这样就得到下表的数据(单位:mm )。

根据地图的比例,18 mm 相当于40 km 。

根据测量数据,利用MA TLAB 软件对上下边界进行线性多项式插值,分别求出上边界函数)(2x f ,下边界函数)(1x f ,利用求平面图形面积的数值积分方法—将该面积近似分成若干个小长方形,分别求出这些长方形的面积后相加即为该面积的近似解。

数学建模插值与拟合课件

数学建模插值与拟合课件
2. Lagrange插值公式
设函数 y f (x) 在 n 1个相异点 x0 , x1, x2 , , xn 上的值为 y 0 , y1, y2 , , yn ,要求一个次数≤n 的代数多
项式
Pn (x) a0 a1x a2 x 2 an x n
使在节点 xi 上成立 Pn (xi ) yi (i 0,1,2, , n) ,称此为 n 次代数插值问题,Pn (x) 称为插值多项式。可以证明 n
如果不要求近似函数通过所有数据点, 而是要求它能较好地反映数据变化规律的近 似函数的方法称为数据拟合。(必须有函数 表达式)
近似函数不一定(曲线或曲面)通过所 有的数据点。
三、插值与拟合的区别和联系
1、联系 都是根据实际中一组已知数据来构造一个能够 反映数据变化规律的近似函数的方法。 2、区别 插值问题不一定得到近似函数的表达形式,仅 通过插值方法找到未知点对应的值。数据拟合 要求得到一个具体的近似函数的表达式。
图所示,当n 增大时,pn x在两端会发出激烈
的振荡,这就是所谓龙格现象。
龙格现象
2
y=1/(1+x2) y=p4(x) y=p10(x) 1.5
1
0.5
0
-0.5
-5 -4 -3 -2 -1
0
1
2
3
4
5
x
To MATLAB lch(larg1)
分段插值的概念
所谓分段插值,就是将被插值函数逐段 多项式化。一般来说,分段插值方法的处理 过程分两步,先将所考察的区间作一分划
y1
lj(x)
当n =2 时,有三点二次(抛物线)插值多项式:
P2
(x)
(x (x0
x1)(x x2 ) x1)(x0 x2 )

数学建模案例与方法教学课件第5章插值法与拟合方法

数学建模案例与方法教学课件第5章插值法与拟合方法

5.1 城市供水量的预测问题
图5-3 三种插值函数曲线
5.1 城市供水量的预测问题
3. 用2000—2006年每年1月份城市的总用水量预测
由表5-2可得到7个 插值节点(x i,y i), 其中,xi=i,i=1,2,…,7, 其散点图如图5-4所示。 用三次样条插值法求得 的f(8)=4 378.139 0×104 t即为所求的 2007年1月份总用水量 的估计值,表5-3
5.1 城市供水量的预测问题
5.1.2 用插值法预测2007年1月份城市的总用水量
预测2007年1月份城市的用水量有三种 办法:一是用2006年的日用水量进行预测, 二是用2000—2006年每年1月份的日用水量 进行预测,三是用2000—2006年每年1月份
5.1 城市供水量的预测问题
1. 用2006年的日用水量进行预测
图5-4 2000—2006年每年1月份 城市的总用水量散点图
5.1 城市供水量的预测问题
5.1 城市供水量的预测问题
5.1.3 用数据拟合方法预测2007年1月份城市的总用水量 1. 用2006年每天的日用水量进行预测
由图5-1可知,这些点并不是简单地成线性或二次关系, 而是具有很强的聚集性。我们试图用几个多项式进行拟合。 用 MATLAB工具箱得到的拟合结果见表5-4。
5.2.1 曲线拟合
【实例】 气象部门观测到一天中某些时刻t的温度T变化数据见 表5-6。试描绘出温度变化曲线。
5.2 MATLAB与拟合、插值
曲线拟合就是计算出两组数据之间的一 种函数关系,由此可描绘其变化曲线及估计
曲线拟合有多种方式,下面是一元函数 采用最小二乘法对给定数据进行多项式曲线
5.2 MATLAB与拟合、插值

数学建模插值和拟合问题的总结

数学建模插值和拟合问题的总结

插值和数据拟合一、 插值方法问题:已知n+1个节点(x j ,y j )(j=0,1,…,n),a=x 0<x 1<…< x n =b ,求任一插值点x*处的插值y*方法:构造一个相对简单的函数y=f(x),使得f 通过所有节点,即f(x j )= y j ,再用y=f(x)计算x*的值。

1. 拉格朗日多项式插值设f(x)是n 次多项式,记作1110()n n n n n L x a x a x a x a --=++++要求对于节点(,)j j x y 有(),0,1,,n j j L x y j n ==将n+1个条件带入多项式,就可以解出多项式的n+1个系数。

实际上,我们有n 次多项式011011()()()()()()()()()i i n i i i i i i i n x x x x x x x x l x x x x x x x x x -+-+----=----满足1,()0,,,0,1,,i j i jl x i j i j n =⎧=⎨≠=⎩则0()()nn i i i L x y l x ==∑就是所要的n 次多项式,称为拉格朗日多项式。

由拉格朗日多项式计算的插值称为拉格朗日插值。

一般来讲,并不是多项式的阶数越高就越精确,一般采用三阶、二阶或一阶(线性)多项式,对相邻点进行分段插值。

2. 样条插值在分段插值时,会造成分段点处不光滑,如果要求在分段点处光滑,即不仅函数值相同,还要一阶导数和二阶导数相同,则构成三阶样条插值。

一般用于曲线绘制,数据估计等。

例 对21,[5,5](1)y x x =∈-+,用n=11个等分节点做插值运算,用m=21个等分插值点作图比较结果。

见inter.m 程序二、 曲线拟合 三、 给药方案 1. 问题一种新药用于临床必须设计给药方案,在快速静脉注射的给药方式下,就是要确定每次注射剂量多大,间隔时间多长.我们考虑最简单的一室模型,即整个机体看作一个房室,称为中心室,室内血液浓度是均匀的.注射后浓度上升,然后逐渐下降,要求有一个最小浓度1c 和一个最大浓度2c .设计给药浓度时,要使血药浓度保持在1c ~2c 之间.2. 假设(1)药物排向体外的速度与中心室的血药浓度成正比,比例系数是k(>0),称为排出速度.(2)中心室血液容积为常数V ,t=0的瞬间注入药物的剂量为d ,血药浓度立即为dV. 3. 建模设中心室血药浓度为c(t),满足微分方程(0)dckc dtd c V=-=用分离变量法解微分方程,有()ktd c te V-=(*) 4. 方案设计每隔一段时间τ,重复注入固定剂量D ,使血药浓度c(t)呈周期变化,并保持在1c ~2c 之间.如图:设初次剂量加大到D 0,易知0221,D Vc D Vc Vc ==-,2121()11ln[],()()ln c Vc t t t c t c k d k c τ=-=-= 那么,当12,c c 确定后,要确定给药方案0{,,}D D τ,就要知道参数V 和k .5. 由实验数据做曲线拟合确定参数值已知1210,25(/)c c g ml μ==,一次注入300mg 药物后,间隔一定ln lndc kt V=- 记12ln ,,lndy c a k a V==-=,则有 12y a t a =+求解过程见medicine_1.m得120.2347, 2.9943a a =-=,由d=300(mg)代入算出k=0.2347,V=15.02(L) 从而有0375.5(),225.3(), 3.9()D mg D mg τ===小时四、 口服给药方案 1. 问题口服给药相当于先有一个将药物从肠胃吸收入血液的过程,可简化为一个吸收室,一个中心室,记t 时刻,中心室和吸收室的血液浓度分别是1()()c t c t 和,容积分别是V ,V1,中心室的排除速度为k ,吸收速度为k1,且k,k1分别是中心室和吸收室血液浓度变化率与浓度的比例系数,t=0口服药物的剂量为d ,则有11111,(0)dc dk c c dt V =-= (1) 111,(0)0V dckc k c c dt V=-+= (2) 解方程(1)有111()k td c te V -=代入方程(2)有111()()k t kt k d c t e e V k k--=--其中三个参数1,,dk k b V=,可由下列数据拟合得到:(非线性拟合)。

lesson9插值与数据拟合建模(2)

lesson9插值与数据拟合建模(2)
满足: S ( xi )=yi (i=1,2,...,n)
(2)三次样条函数的定义
设[a,b] 的一个划分:a=x0<x1, x2 , ..., xn= b, 函数f ( x )各节点的值分别为:
f ( xi )=yi (i=1,2,...,n) 如果三次样条函数:
3
满足: S ( xi )=yi (i=1,2,...,n)
B:弹性细梁受集中载荷作用形成的挠度曲 线,在小挠度的情况下,恰好表示为三 次样条函数,集中载荷的作用点,恰好 就是三次样条函数的节点。
(1)二次样条的定义
设[a,b] 的一个划分:a=x0<x1, x2 , ..., xn= b, 函数f ( x )各节点的值分别为:
f ( xi )=yi (i=1,2,...,n) 如果二次样条函数:
8、检验
以不同的时间为起点得到的一天总用水量相差多少
一个物理定理
由托里查里(Torricelli)定律知,从水箱中 流出水的最大速度与水位高的平方成正比.对 于所给的数据,其水位的最大高度为35.5E, 最小高度为27E,因此对两个高度的最大流速 比为 35.5 / 27 ,这个数字已很接近l,所以 可以假定水位对流速没有影响.类似地,还假 设大气情况、温
长度单位:E(=30.24cm) 容积单位:G(=3.785L(升))
某些镇的用水管理机构需估计公众的用水速度(单 位是G/h)和每天总用水量的数据.许多地方没有测量 流入或流出水箱流量的设备,而只能测量水箱中的水 位(误差不超过5%).当水箱水位低于某最低水位L时, 水泵抽水,灌入水箱,直至水位达到最高水位H为止。 但这也无法测量水泵的流量,因此在水泵启动时不易 建立水箱中水位和水泵工作时用水量之间关系。水泵 一天灌水1~2次,每次约2h。试估计在任意时刻(包括 水泵灌水期间)t流出水箱的流量f(t),并估计一天的总 用水量。

数学建模——拟合与插值

数学建模——拟合与插值
xi 0.1 0.2 0.4 0.5 0.6 0.7 0.8 0.9 1 yi 1.978 3.28 6.16 7.34 7.66 9.58 9.48 9.30 11.2
即要求 出二次多项式: f(x)a1x2a2xa3
11
中 的 A(a1,a2,a3) 使得:
[f (xi)yi]2 最小
i1
fun是一个事先建立的 定义函数F(x,xdata) 的 M-文件, 自变量为x和 xdata
选项见无 迭代初值 已知数据点 约束优化
18
25.03.2020
2. lsqnonlin
已知数据点: xdata=(xdata1,xdata2,…,xdatan) ydata=(ydata1,ydata2,…,ydatan)
+
+
y=f(x) +
x i 为点(xi,yi) 与曲线 y=f(x) 的距离
6
25.03.2020
线性最小二乘拟合 f(x)=a1r1(x)+ …+amrm(x)中 函数{r1(x), …rm(x)}的选取 1. 通过机理分析建立数学模型来确定 f(x);
2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f(x):
2)计算结果:A = [-9.8108, 20.1293, -0.0317]
f(x) 9.81x0 2 8 2.1 02x9 0 3 .0317
16
25.03.2020
用MATLAB作非线性最小二乘拟合
两个求非线性最小二乘拟合的函数:
lsqcurvefit、lsqnonlin。
相同点和不同点:两个命令都要先建立M-文件fun.m,定义函 数f(x),但定义f(x)的方式不同。

(完整版)数学建模 插值和拟合

(完整版)数学建模 插值和拟合

x
xn
x
4.2 MATLAB实现插值
Matlab 实现:实现插值不需要编制函 数程序,它自身提供了内部的功能函数 interp1(一维分段插值) interp2(二维) interp3(三维) intern(n维)
4.3.1一维插值
用MATLAB作插值计算
一维插值函数: yi=interp1(x,y,xi,'method')
h=1:0.1:12;
t=interp1(hours,temps,h,'spline');
plot(hours,temps,'+',h,t,'r:')
xlabel('Hour'),ylabel('Degrees Celsius’)
例1:从1点12点的11小时内,每隔1小时测量一次温度, 测得的温度的数值依次为:5,8,9,15,25,29, 31,30,22,25,27,24.试估计(1)每隔1/10小时 的温度值;(2)估计1点30分和13的温度值。
例1:从1点到12点的11小时内,每隔1小时测量一次温 度,测得的温度的数值依次为:5,8,9,15,25, 29,31,30,22,25,27,24.试估计(1)每隔 1/10小时的温度值;(2)估计1点30分和13的温度值。
hours=1:12;
temps=[5 8 9 15 25 29 31 30 22 25 27 24];
x x0 y y0
x1 … xn y1 … yn
其中x0,x1, …xn是n+1个互不相同的点,求一个 近似函数 (x) ,使得
( xi ) f ( xi ) i 0,1 …n

数学建模 插值和拟合

数学建模 插值和拟合

一维插值函数: yi=interp1(x,y,xi,'method')
xi处的 插值结果 插值节点 被插值点 插值方法
注意(1)所有的插值方法 ‘nearest’ 最近邻点插值; 都要求x是单调的,并且xi不 ‘linear’分段线性插值; ‘spline’ 三次样条插值; 能够超过x的范围; ‘cubic’ 三次多项式插值; (2)interp1()并没有提供 缺省时 分段线性插值. 插值函数的表达式。
X Y 1200 1600 2000 2400 2800 3200 3600 1200 1130 1320 1390 1500 1500 1500 1480 1600 1250 1450 1500 1200 1200 1550 1500 2000 1280 1420 1500 1100 1100 1600 1550 2400 1230 1400 1400 1350 1550 1550 1510 2800 1040 1300 900 1450 1600 1600 1430 3200 900 700 1100 1200 1550 1600 1300 3600 500 900 1060 1150 1380 1600 1200 4000 700 850 950 1010 1070 1550 980
用MATLAB作散点数据的插值计算
插值函数griddata格式为:
cz =griddata(x,y,z,cx,cy,‘method’)
被插值点 的函数值 插值 节点 被插值点
插值方法
要求cx取行向量, cy取为列向量.
‘nearest’最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 'v4'- MATLAB提供的插值方法 缺省时, 双线性插值

Matlab数学建模学习笔记——插值与拟合

Matlab数学建模学习笔记——插值与拟合

Matlab数学建模学习笔记——插值与拟合⽬录插值与拟合插值和拟合的区别图⽚取⾃知乎⽤户yang元祐的回答插值:函数⼀定经过原始数据点。

假设f(x)在某区间[a,b]上⼀系列点上的值y_i=f(x_i),i=0,1,\dots,n。

插值就是⽤较简单、满⾜⼀定条件的函数\varphi(x)去代替f(x)。

插值函数满⾜条件\varphi(x_i)=y_i,i=0,1,\dots,n拟合:⽤⼀个函数去近似原函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最⼩。

插值⽅法分段线段插值分线段插值就是将每两个相邻的节点⽤直线连起来,如此形成的⼀条折线就是就是分段线性插值函数,记作I_n(x),它满⾜I_n(x_i)=y_i,且I_n(x)在每个⼩区间[x_i,x_{i+1}]上是线性函数(i=0,1\dots,n-1)。

I_n(x)可以表⽰为I_n(x)=\sum_{i=0}^n y_il_i(x),其中l_i(x)= \begin{cases} \frac{x-x_{i-1}}{x_i-x_{i-1}},&x\in [x_{i-1},x_i],i \neq 0,\\ \frac{x-x_{i+1}}{x_i-x_{i+1}},&x\in [x_i,x_{i+1}],i \neq n,\\ 0,&其他 \end{cases}I_n(x)有良好的收敛性,即对x\in [a,b],有\lim _{n \rightarrow \infin}I_n(x)=f(x)⽤I_n(x)计算x点的插值的时候,只⽤到x左右的两个点,计算量与节点个数n⽆关。

但是n越⼤,分段越多,插值误差越⼩。

拉格朗⽇插值多项式朗格朗⽇(Lagrange)插值的基函数为\begin{aligned} l_i(x)&=\frac{(x-x_0)\cdots(x-x_{i-1})(x-x_{i+1})\cdots(x-x_n)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_n)}\\ &= \prod_{j=0\\j\neq i}^{n} \frac{x-x_j}{x_i -x_j},i=0,1,\cdots,n。

(数学建模课件)第八部分插值与拟合

(数学建模课件)第八部分插值与拟合
2020/10/23
例9 多项式函数拟合 x=[34 36 37 38 39 39 39 40 40 41 42 43 43 45 47 48]; y=[1.30 1.00 0.73 0.90 0.81 0.70 0.60 0.50 0.44 0.56 0.30 0.42 0.35 0.40 0.41 0.60]; close; plot(x,y) p=polyfit(x,y,2) xi=linspace(34,48,1000); %绘图的X轴数据 z=polyval(p,xi); %得到多项式在数据点处 的值 close; plot(x,y,’ko’,xi,z,’r-’)
2020/10/23
2、二维插值
Z1=interp2 (X,Y,Z,X1,Y1,’method’) 其中X和Y为两个向量,分别描述原始数据点的 自变量取值,Z是对应于X和Y的函数值;X1和 Y1是两个向量,描述欲插值的点。Method的含 义同一维插值。Z1是根据相应的插值方法得到 的插值结果。
2020/10/23
2020/10/23
使用MATLAB软件中的三次样条插值命 令得到用水率函数如下图所示。 x0=t;y0=r; [l,n]=size (x0); dl=x0(n)-x0(1); x=x0(1):1/3600:x0(n); %被插值点 ys=interp1 (x0,y0,x,’spline’); %样条插值输出 plot (x,ys); title (‘样条插值下的流速图’); xlabel(’时间(小时)’); ylabel(‘流速(立方米/小时)’)
例8 非线性函数化为线性函数拟合 t=[0 1 2 3 4 5 6 7 8 9 10]; u=[100 75 55 40 30 20 15 10 10 5 5]; close; plot(t,u) T=t; U=log(u); p=polyfit(T, U,1) b=p(1) a=exp(p(2))

插值与数据拟合建模

插值与数据拟合建模
由于平均每单位时间通过单位面积薄膜的物质分子量与膜两侧溶液的浓度差成正比,比例系数为K。
因此,在时段[t,t+Δt],从B侧渗透至A侧的该物质的质量为:
于是有:
两边除以Δt,并令Δt→0取极限再稍加整理即得:
(1)
2) 注意到整个容器的溶液中含有该物质的质量不变,与初始时刻该物质的含量相同,因此
思考
最小二乘拟合函数 f(x,a1, …am)的选取
1. 通过机理分析建立数学模型来确定 f;
2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f:
2. 作一般的最小二乘曲线拟合,可利用已有程序curvefit,其调用格式为: a=curvefit(‘f’, a0, x, y)
这本四位数学用表给出sin =0.576,sin =0.5783。小华认为在sin 到sin 这样小的范围内,正弦可以近似为线性函数,于是很容易地得到Sin =0.576+(0.5783-0.5760)×0.6=0.5774
聪明的小华用的这个办法是一种插值方法——分段线性插值。实际上,插值可以理解为,要根据一个用表格表示的函数,计算表中没有的函数值。 表中有的,如(sin ,0.5760)(sin ,0.5783)称为节点;要计算的,如sin ,称为插值点,结果(0.5774)即为插值。小华作的线性函数为插值函数,插值函数所表示的直线当然要通过节点。
1. 作多项式f(x)=a1xm+ …+amx+am+1函数拟合,可利用已有程序polyfit,其调用格式为:
a=polyfit(x,y,m)
用MATLAB作最小二乘拟合
注:f为拟合函数y=f(a,x)的函数M—文件,f(a,x)为拟合函数。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
**参考资料**
Matlab操作: [1]司守奎、孙玺,《数学建模算法与应用》,
国防工业大学出版社。 [4]姜启源,《大学数学实验》
数学原理: [2]韩中庚,《数学建模方法与应用》, [3]《数值分析》
7
课后小作业(每队交一份;两周以后交纸质版)
测得0点到7点气温为(其中4点气温数据缺失) 12,9,9,10,?,18 ,24,28,
( x xn ) ( xk xn )
11
三.拉格朗日多项式插值
建立m文件
function y=lagrange(x0,y0,x)
n=length(x0);m=length(x);
for i=1:m %计算第i个格点的函数值 z=x(i); s=0.0; for k=1:n %计算第k个基函数的值
13
四.误差估计与龙格现象
例(龙格(Runge)).
f
(
x)
1
1 25x2
,
1 x 1
• 可以证明对满足|x|>0.73的x,Ln (x) 发散.
14
四.误差估计与龙格现象
避免 Runge 现象的常用方法:
将插值区间分成若干小区间,在小区 间内用低次插值.如分段线性插值、三 次样条插值、分段三次Hermite插值.
插值与拟合
1
一.插值问题与拟合问题
例. 矿井中某处的瓦斯浓度 y 与该处距地面的 距离x有关,现用仪器测得从地面到井下500米 每隔50米的瓦斯浓度数据(xi,yi) (i=0,1,…,10), 根据这些数据完成下列工作:
(1) 寻找一个函数,要求由此函数可近似求得 从地面到井下500米之间任意点处的瓦斯浓 度;
主程序
p=1.0; for j=1:n %前j个乘积因子的积 if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end
end s=p*y0(k)+s; %加权求和
x0=[10 11 12 13 14 ]; y0=[2.3026 ,2.3979,2.4849,2. 5649 2.6391]; x=10:0.1:15; y=lagrange(x0,y0,x); plot(x0,y0,’+’,x,y)
例如:做三次样条插值可得
15
四.误差估计与龙格现象
16
五.常用分段低次插值
分段线性插值
设f(x)是定义在[a,b]上的函数,在[a,b]上节点 a= x0< x1<x2<…<xn-1<xn=b,
的函数值为 y0 , y1 ,y2 ,…yn-1 ,yn 。
(x)
yi
x xi1 xi xi1
yi1
x xi xi1 xi
xi x xi1
这种插值称为分段线性插值,即“折线段带代替曲 线”.
五.常用分段低次插值
分段线性插值
分段线性 插值特点:
曲线的光滑性较差
在节点处不可导
但如果增加节点的数量 会改善插值效果
运算速度快

x 10 11
12 13
14
y 2.3026 12.3979 32.4849 22.5649 28.6391
用分段线性插值估计11.5处的函数值
分段线性插值:
clear
matalb调用格式:
x0=[10 11 12 13 14y]i;=interp1(x,y,xi,’linear’)
y0=[2.3026 12.3979 32.4849 22.5649 28.6391 ];
x=10:0.2:15;
y1=interp1(x0,y0,x,’linear’); yy1=interp1(x0,y0,11.5,’linear’); %求11.5处的函数值 plot(x0,y0,’+’,x,y1,11.5,yy1,’rO’) %”+”画曲线,”o”描出 %11.5处的一个点
数、被插值函数 3
一.插值问题与拟合问题
(2) 估计井下600米处的瓦斯浓度。
若不清楚瓦斯浓度变化的原理,可将其看作随 机变量,“预测未来”,需从整体上描述其变 化趋势,拟合是一种解决办法 根据具体问题的不同,做预测应采用不同方法, 如:
回归分析、人工神经网络、灰色预测、时间序 列分析等
4
一.插值问题与拟合问题
使得
0, i k
l
(
k
x
i
)
1,
ik
n
则函数(x) l0(x) y0 l1(x) y1 ln(x) yn yklk (x)
k0
满足 (xk ) yk , k 1, 2,..., n
10
三.拉格朗日多项式插值
• 一种表示是
lk
(x)
( x x0 ) ( xk x0 )
( x xk1 )k xk1 )
• 插值忽略观测误差的影响, • 而拟合考虑观测误差的影响。 • 拟合可以用于“外推”趋势,而插值不行 • 观测误差客观上总是存在,因此要正确揭
示事物的内在规律,需要进一步的统计分 析。
5
**学习目标**
• 理解插值问题和拟合问题;正确地判断、选择 插值或拟合方法。 •了解高次插值的Runge 现象及避免方法。 • 熟悉Matlab中一维插值(interp1) • 熟悉Matlab中多项式拟合(polyfit)、最小二乘曲 线拟合(lsqcurvefit)命令。
1)分别用插值(多种方法)和拟合推测0点到 7点各个时间的温度(以一刻钟为间隔);
2)用拟合方法推测8点温度。
二.插值方法理论依据
理论依据 定理. 闭区间上的任何连续函数可用多项式函
数逼近.
9
三.拉格朗日多项式插值
x
x0 x1
Y=f(x) y0 y1
……. xn …….. yn
寻找基函数 l0 x,l1 x,l2 x,,ln x
2
一.插值问题与拟合问题
对问题1:假设浓度的测量是准确的,浓度随深度连续 变化,则问题1转化为
求连续函数函数p(x),使p(xi) = yi 。 如果没有现成物理公式可用,或者现有公式都不能很好 的描述浓度变化,或难以进行机理分析,那么
运用插值建模是一种解决办法。
定义.插值问题的提法、插值区间、 插值节点、插值函
end
y(i)=s;
end
12
四.误差估计与龙格现象
• 如果f充分光滑, x
x0 x1
那么可以证明
Y=f(x) y0 y1
存在 (a,b)
使得误差
……. xn …….. yn
Rn ( x)
f ( x) Ln ( x)
f (n1) ( )
(n 1)!
n
( x xi )
i 1
• 随n的增大,误差的绝对值会越来越小吗?
相关文档
最新文档