文档详情

[2018年最新整理]04_函数插值与曲线拟合.ppt

发布:2018-02-15约1.26万字共75页下载文档
文本预览下载声明
第4章 插值与拟合 引言1---插值与拟合在科学研究和工程实践中应用广泛 如: 1) 已知物性手册中由特定点处的值求取任意点处的值,可用插值法 2) 由实验中的离散数据点确定研究体系的模型,可拟合建立近似的函数关系式。 区别: 运算过程上的区别: 拟合:是将数据点用最恰当的曲线描述出来,以反映问题的规律,是特殊到一般的过程。 插值:是在知道曲线的形状后得出某些具体点的性质的过程,是从一般到特殊。 求解误差上的区别: 拟合:考虑观察值的误差(误差不可避免时)。以偏差的某种最小为拟合标准 插值:在观测点处无误差 §4.1 函数插值 在化工领域中,通过实验可获得有限个离散点的数据表(如表4-1所示)。 这种用表格形式给出的函数 通常称为列表函数 如果可以寻找出与已测得的实验数据相适应的近似解析函数式,则可根据近似解析表达式求出未列点的函数值。 0.1 函数插值的定义 0.2 代数多项式插值法 为给实验数据构造相适应的近似函数表达式,最常用的是代数多项式插值法。 代数多项式插值法的基本思想: 设法构造某个简单函数 ( 是代数多项式形式,称插值函数)作为 的近似表达式,然后计算 未列点的自变量 的函数值 值作为 的近似值。 Lagrange插值多项式的优点在于不要求数据点是等间隔的,其缺点是数据点数不宜过大,通常不超过7个,否则计算工作量大且误差大,计算不稳定。 2 拉格朗日多项式插值法的Matlab实现 对于拉格朗日多项式插值法,Matlab中没有专用指令,可根据拉格朗日多项式插值法的数学公式来编程实现。程序如下: 例4.1: 从手册中查到水在不同温度(T)时的导热系数( )的数据如表4-2所示。 表4-2 水在不同温度时的导热系数 试用拉格朗日多项式插值法分别计算水在80C、250C、560C、730C、960C时热导率数值。 解:Matlab计算程序如下: ﹥﹥T0=[0,20,40,60,80,100]; K0=[0.553,0.599,0.634,0.659,0.675,0.683]; T=[8,25,56,73,96]; K=lagrange(T0,K0,T); [T;K]; 执行结果: ans = 8.0000 25.0000 56.0000 73.0000 96.0000 0.5728 0.6087 0.6548 0.6704 0.6820 原因: 当 n 很大时,数据的误差可能对插值多项式计算结果带来很大误差,引起“龙格现象” ,也可以说是拉格朗日插值法的不稳定现象。 为避免“龙格现象” ,通常限定 n7。 为避免拉格朗日插值法的不稳定现象。实际进行插值计算时,通常将插值范围分为若干段,然后在每个分段上使用低次插值。这就是分段插值法。 由式(4-1)容易写出分段线性插值公式。设插值节点为 ,函数值为 ,任取两相邻的节 ,形成插值区间[ ]。 3 线性插值法在Matlab中的实现 Matlab中的函数 interp1可实现线性插值法运算。 interpolate 调用格式为: yi = interp1(x,y,xi,’method’) 含义:输入离散数据x、y、xi,输出xi对应的插值yi 。 其中: (1)x、y为样本点,yi为插值点自变量值xi对应的函数值。 (2)method共有6种参数可供选择,当省略method时,即默认为linear线性插值。 例4.2: 已知某转子流量计在100~1000mL/min流量范围内,刻度值与校正值有如下关系(见表4-3)。试用线性插值法计算流量计的刻度值为785时,实际流量为多少? 解:Matlab计算程序如下: X=[100,200,300,400,500,600,700,800,900,1000]; Y=[105.3,207.2,308.1,406.9,507.5,605.8,707.4,806.7,908.0,107.9]; Xk=780; Yk=interp1(X,Y,Xk) 执行结果:Yk
显示全部
相似文档