一元函数的插值c语言,一元函数插值-Read.doc

一元函数插值

目标:

对比插值和数据拟合的思想

一元函数插值(线性插值和抛物线插值)及程序实现

基本理论

插值:采集到的数据可以看作是精确数据,要求函数或曲线通过这些数据点。

常用插值方法:一元函数插值(自变量只有一个)和二元函数插值。重点前者

一元函数插值主要掌握:线性(直线)插值和抛物线插值。

共同点:找数据分布规律。

不同点:插值适合于试验数据为精确数据,插值函数曲线通过插值点;

数据拟合适合于试验数据有一定程度的误差,拟合曲线不一定通过试验数据点。

1 线性插值

通过两结点的直线方程来代替原来的函数。设插值点为,具体插值步骤为:(注意:插值点中,为已知数,为待求量)

选取两个相邻的自变量与,且(即查找所在的区间,同时考虑实现时查找算法);

用过点和点的直线代替原来的函数,则有:

(1)

(2)

式(2)即为对应于插值点处的函数值。

注意:

线性插值函数只用到两个数据点,而且这两个试验数据点根据插值点的值不同而动态变化,其他的试验数据点用来观察试验数据总体分布规律;

当试验数据自变量间隔较小,插值精度要求不高时,线性插值可以满足要求。

2 抛物线插值

用通过3个结点的抛物线方程来代替原来的函数。设插值点为,则有

(3)

在抛物线插值过程中,关键是要在插值点附近选取合适的3个点。根据插值点的位置,分四种情况:(演示)

若,即插值点位于第1点和第2点之间,应选择、、3点,式(3)中的;

若,即插值点位于倒数第1点和第2点之间,应选择倒数3个点、和,式(3)中的;

当插值点位于第2点和倒数第2点之间时,即(),又分两种情况:

第1种:,即靠近左端点,应选择左端点的左端点、左端点、右端点3个点;

第2种:,即靠近右端点,应选择左端点、右端点、右端点的右端点3个点。

插值的主要步骤:

根据试验数据折线图确定插值多项式形式;(注意:构造插值多项式的方法很多,具体可参阅计算方法、数值分析等书,课堂上的方法为Lagrange插值法。)

确定插值基函数;(抛物线插值基函数为式(2))

根据插值点的x坐标确定构成插值多项式的点;(抛物线插值为3个点)

绘制插值函数曲线;(参照拟合曲线绘制思想)

构造具体的插值多项式并计算插值点的y函数值;(式(3);实现:二重循环)

输出y值。

程序实现

实现思路:MATLAB没有专门针对Lagrange插值的插值函数,所以编程时基本思路为从底层根据插值原理选取结点,构造插值函数,求插值点的值。开发环境选用矢量图形环境。(MATLAB中的插值函数为其它插值方法)

式(3)的理解:

将记为第一点;将记为第二点;将记为第三点,于是式(3)可表示为:

(1)

其中

(2)

(2)称为插值基函数。

(3)

通过二重循环实现。

2 编程实现

见程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值