牛顿插值法的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牛顿插值法在处理磁化曲线和铁损曲线
中的应用
指导老师:李国霞
院系:物理工程学院
专业:物理电子学
姓名:夏委委
学号:201112131526
一、牛顿插值法简介
在科学研究与其他领域中所遇到的许多实际问题中,经常会出现函数不便于处理或计算的情形。有时候函数关系没有明显的解析表达式,需要根据实验数据或其他方法来确定与自变量的某些值相对应的函数值;有时候函数虽有明显的解析表达式,但是使用很不方便。因此,在实际应用中,往往需要对实际使用的函数建立一个简单的便于处理和计算的近似表达式,即用一个简单的函数表达式来近似替代原来复杂的函数。与用近似数代替准确值一样,这也是计算法中最基本的概念和方法之一。近似代替又称为逼近。用多项式逼近列表函数的问题即为多项式插值问题。根据函数)(x f 已有的数据表格来计算函数)(x f 在一些新的点x 处的函数值,这就是插值法所要解决的问题。因此,所谓的插值法就是在所给定的函数表格中间在插入一些所需要的新的点上的函数值。
插值法的基本思想:首先设法根据表格中已有的函数值来构造一个简单的函数)(x y 作为)(x f 的近似表达式,然后再用)(x y 来计算新的点上的函数值作为
)(x f 的近似值。通常可以选用多项式函数作为近似函数)(x y ,因为多项式具有
各阶的导数,求值比较方便。用代数多项式作为工具研究插值问题,通常称为代数插值。
代数插值法问题的完整提法如下:设函数)(x f y =在区间[]b a ,上是连续的,且已知)(x f 在区间[]b a ,上1+n 个互异点处的函数值,即n i x f y i i ,......1,0),(== 其中,)(j i x x j i ≠≠。寻找一个次数不高于
n
的多项式
0111)(a x a x a x a x P n n n n n +++=-- 使满足条件n i x f x P i i n ,,1,0),()( ==称)(x P n 为)(x f 的插值多项式,),,1,0(n i x i =称为插值结点,[]b a ,称为插值区间。 牛顿(Newton)插值是数值逼近中的一个重要部分,它向前继承了拉格朗日(Lagrange)插值,向后引出了埃尔米特(Hermite)插值,可以看作对多项式插值作了一个简单的统一。牛顿插值公式具有形式简单,便于计算等优点。因此,在插值中得到广泛的应用。牛顿插值公式为)()()(x R x P x f n n +=,其中)(x P n 是牛顿插值多项式,)(x R n 为牛顿插值余项,)(x P n 和)(x R n 的表达式如下式所示:
[][][][])()(,))((,,)(,)(1010102100100---++--+-+=n n n x x x x x x x f x x x x x x x f x x x x f x f x P ∏=+-+=n
i i n n x x n f x R 0)1()()!1()()(ξ可以看出牛顿插值公式余项更具有一般性,它对于列表函数或)(x f 导数不存在的情形也同样适用。
大多数给出的函数表,或是全区间是等距的,或者虽然全区间不等距而子区间是等距的。上式适用于等距和不等据节点的计算。当节点等距分布时,用差分代替差商从而可以避免多次除法便于计算。因而导出了牛顿前插公式和后插公式。在实际运作时,究竟要采用哪一个公式,视插值点在插值区间的位置而定。 牛顿前差公式及其余项公式如下:
00200!)1()1(!)1()1(!2)1()(f k k t t t f n n t t t f t t f t f x N k
n
k n n ∆+--=∆+--++∆-+∆+=∑= []n n n n n x x h n t t t n f th x R x R ,)()1()!1()
()()(01)1(0∈--+=+=++ξξ,
牛顿后差公式及其余项公式如下:
n
f k
n k k k t t t k n f n n n t t t n n f t t n f t n f x n N ∇∑=+---=∇+---+-∇-+
∇-=0!
)1()1()1(!)1()1()1(2!2)1()( []n n n n n n n x x h n t t t n f th x R x R ,,)1)(()1()!
1()
()()(011)1(∈---+=-=+++ξξ
在实际应用中,如果插值点x 离0x 比较近,则一般使用牛顿前差公式;如果插值点x 离0x 比较远,则一般使用牛顿后差公式。但对于同一个插值点x 来说,不管用牛顿前差公式还是用牛顿后差公式,得到的结果是一样的,这两种插值公式只是形式上的差别。
二、利用牛顿插值法处理磁化曲线和铁损曲线
数值分析是用计算机来处理数学问题的方法。在其所涵盖的领域里,插值的地位十分重要。插值公式不仅能用于计算插值表以外的函数值,而且插值理论还是数值微分、积分、常微分方程初值问题数值解和非线性方程求根的理论基础。牛顿插值法是根据一组已知的插值节点{}i i f x ,来构造牛顿插值多项式:
[][][][]
)
1()0(1,0)1)(0(2,1,0)0(1,00)(---+--+-+=n x x x x n x x x f x x x x x x x f x x x x f x f x n N
满足i i n f x N =)( n i ,1,0=其余项(误差)为[]∏=-=n
j j n n x x x x x x f x R 0
2,10)(,)(
因为)(x R n 中含有)(x f 的1+n 阶差商[]n x x x x f 210,,,所以当)(x f 是次数不超过n 的多项式时,0)(=x R n 。
武钢公司在1998年3月向用户发布了新的晶粒取向磁化钢带(片)的磁化曲线和铁损曲线。对于设计人员来讲,查曲线是一件麻烦的事情,不但要拿尺子打准坐标,还要进行估算。尤其是单位铁损曲线,是每次设计都要查的。这样不仅工作量大,而且容易出错。因此,有必要对磁化曲线和铁损曲线进行一些数值处理,让使用者可以根据硅钢片的型号和磁感应强度,方便地找到磁场强度或单位铁损。为此,本文采用了数值分析方法中的牛顿插值法对磁化曲线和铁损曲线作了一些处理,在实际应用中取得了较好的效果,大大提高了工作效率。
根据磁化曲线和铁损曲线的实际情况,采用分段的二次牛顿插值多项式来处理它,在实际应用中完全可以满足工程精度的要求。
首先,对于原始曲线,均匀地采集其插值出节点并输入计算机;然后程序采用三点分段插值的办法来构造二次牛顿插值多项式)(2x N ,并根据此计算出所需数据;然后将结果输出。 源程序如下: #include ″stdio.h ″ #include ″iostream.h ″ #include ″math.h ″ void main() {
int n,i ,j ,k,z;
float y[20] ,x[20] ,d[20] ,q[20] ,p,t ,v char chl;
printf(“请输入节点个数n! \ n n ”) ; scanf(″%d,″&n) ;
printf(″请输入各节点值! \ n ”) ;