线性拟合法

摘 要

摘 要

插值法和曲线拟合是两种来源于实际,同时又广泛应用于实际的重要的数值

计算方法。随着计算机技术的不断发展以及人类计算机水平的逐步提高,他们在国民经济和科学研究中占据了越来越重要的地位。插值法与曲线拟合结合计算机技术例如MATLAB 等编译工具可以用来解决许多实际问题,可以做到高效快捷准确的计算出想要的结果。本文从MATLAB 的功能特点出发,研究了数值计算方法中的插值法和曲线拟合两类问题,比较了这两类问题的特点和不同之处,通过多组实验来进行进一步的研究,即使用MATLAB 实现通过拉格朗日插值法和曲线拟合解决实际问题。本文中实现了通过拉格朗日插值法解决三个实际问题,包括了二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线并作图分析。同时还实现了通过多项式曲线拟合解决两个实际问题, 即根据研究氮肥(N )的施肥量与土豆产量的影响所得数据曲线拟合出相关函数关系和铁在冶炼过程中含碳量与时间的关系分析并做图研究得到相应的结论。

关键词: 插值法 曲线拟合 MATLAB 数值计算

ABSTRACT

ABSTRACT

Interpolation and curve fitting are two methods come from actual , while widely used in actual important numerical . With the continuous development of computer technology and the gradual improvement of human computer skills , they occupy an increasingly important position in the national economy and scientific research . Interpolation and curve-fitting combining with computer technology and any other building tools such as MATLAB can be used to solve many practical problems by which can be solved quickly and efficiently accurately calculate the desired results. In this paper, starting from the function features of MATLAB to study the numerical method of interpolation and curve-fitting problems , comparing the characteristics of these two types of problems and differences , to carry out further research by two experiments that use MATLAB implementation to solve practical problems by Lagrange interpolation method to achieve a number of practical problems solved by Lagrange interpolation method , including sulfur dioxide and sensor voltage problem , the last decade of 93 # gasoline prices and oil stocks change on K line soldiers plot analysis .It also achieved by polynomial curve fitting solve two practical problems , according to a study of nitrogen (N) fertilization resulting impact on the amount of data and the potato yield curve fitting and the correlation function of the carbon content of iron in the smelting process and time relationship analysis and make the corresponding figure study conclusions .

Keywords: Interpolation Curve-Fitting MATLAB Numerical calculation

目录

1

目录

第一章 绪论 ........................................................ 1

1.1插值法概述 ................................................... 1

1.1.1 插值法的背景 . .......................................... 1

1.1.2 插值法的思想 . .......................................... 2

1.2. 曲线拟合概述 . ................................................ 3

1.2.1曲线拟合的背景 ......................................... 3

1.2.2曲线拟合的思想 ......................................... 3

1.3本文研究内容 ................................................. 4

第二章 插值法基本理论 .............................................. 5

2.1插值法基本定义 ............................................... 5

2.1.1唯一定理 ............................................... 5

2.1.2几何意义 ............................................... 5

2.2 拉格朗日(Lagrange )插值 . .................................... 6

2.3牛顿(Newton )插值 ........................................... 7

2.4样条函数插值方法 ............................................. 8

2.4.1二次样条函数插值 ...................................... 10

2.4.2三次样条函数插值 ...................................... 11

2.5高次插值的龙格现象 .......................................... 13

2.6插值法小结 .................................................. 14

第三章 曲线拟合基本理论 ........................................... 15

3.1最小二乘拟合法 .............................................. 15

3.2最小二乘拟合函数的求解 ...................................... 16

第四章 基于MATLAB 的插值法仿真研究................................. 17

4.1算法及流程图 ................................................ 17

4.2代码解析 .................................................... 17

4.3插值法应用 .................................................. 19

4.3.1二氧化硫浓度与电压 .................................... 19

2 基于Matlab 的插值法与曲线拟合数值计算方法研究

4.3.2 93#汽油价格计算 ...................................... 21

4.3.3中国石油股票月K 线分析 . ................................ 23

4.4插值法应用小结 . .............................................. 24

第五章 基于MATLAB 的曲线拟合仿真研究 .............................. 25

5.1基于MATLAB 实现曲线拟合 . ..................................... 25

5.2曲线拟合应用 . ................................................ 25

5.2.1氮肥的施肥量与土豆产量之间的关系分析 . .................. 25

5.2.2铁的冶炼过程中含碳量和时间关系分析 . .................... 27

5.3曲线拟合应用小结 . ............................................ 29

第六章 总结 ...................................................... 31

6.1插值法与曲线拟合比较 . ........................................ 31

6.2全文总结 . .................................................... 31 致 谢 .............................................. 错误!未定义书签。

参考文献 .......................................................... 35

第一章 绪论

1

第一章 绪论

在工程实践和科学实验中,经常会遇到计算函数问题,就是数值方法本身而言有很多问题最后也都是转化成了函数数值的计算。然而,有时候遇到非常复杂的函数关系,甚至没有明确的表达式或者有表达式但却无法知道。插值与拟合往往就是解决这些问题的方法。例如一些问题需要建立函数关系,即y=f(x)。虽然从原则上说,它在某个区间[a,b]上是存在的,但通常只能观测到它的部分信息,即只能获取[a,b]上一系列离散点上的值,这些值构成了观测数据。这就是说,我们只知道的一张关于x 与f(x)的观测数据表,如下:

表1.1 关于x 与f(x)的观测数据表

然而,当不知道函数在其他点x 上的取值时,只能用一个经验函数y=g(x)对

真实函数y=f(x)作近似。下面本文将引入两种两种常用办法来确定经验函数y=g(x),它们分别是插值法与曲线拟合法。

1.1插值法概述

1.1.1 插值法的背景

插值法是一种古老的数学方法,早在一千多年前的隋唐时期定制历法时就广

泛应用了二次插值. 二次插值法的创立, 是隋唐数学的一项重大成绩。插值法是根据两个自变量的已知函数值的近似计算方法。这种方法是很有使用价值的。例如, 在天文观测中, 人们不可能每时每刻都进行观测, 因此只能得到日月五星某些时刻在天球上的位置。利用这些观测记录推算日月五星在其他时刻的位置, 就要用到插值法, 这对于天文计算特别是日月交食的推算是十分重要的。实际上在《周髀》和《九章》中就已有了一次插值公式。东汉末天文学家刘洪制定《乾象历》, 为计算月球在近地点后( n+s) 日的共行度数, 采用了一次插值公式

[1]:f(n+s)=f(n)+s△,0

2 基于Matlab 的插值法与曲线拟合数值计算方法研究

冲之等各家历法计算月行数时也采用了这种算法。随着天文学的发展和观测精度的提高, 天文学家不仅发现了月球运动的不均匀性, 而且也发现了太阳和五星视运动的不均匀性, 也就是说, 日月五星的视运动并非是时间的一次函数。为了编制更好的历法, 特别是为了精确计算合朔( 太阳与月亮同时出现) 和日食时刻, 何承天、祖冲之以前所长期采用的一次插值法, 误差太大, 已经不能满足这种要求, 于是中国天算家开始了新的探索。然而插值理论却是在17世纪微积分产生后才逐步发展起来,Newton 插值公式理论是当时的重要成果[1]。由于计算机的使用以及航空、造船、精密仪器的加工,插值法在理论和实践上都得到进一步发展,获得了广泛的应用。在计算机广泛使用的今天, 插值法跟MATLAB 等软件的程序结合起来, 发挥其更广泛的作用, 以至可以解决高达几百次甚至上千的插值拟和( 如果计算机允许的话) 。为此, 大量的数学家和软件编辑者投入到数值分析和数学软件的工作中, 使得插值法得到了空前的发展, 现在的Lagrange 插值, 逐次线性插值, Newton 插值, Hermite 插值, 分段低次插值, 还有三次样条插值等等, 就不胜枚举。

1.1.2 插值法的思想

已知如下一个关于xi 与f(xi)的观测数据表

表1.2 插值法思想观测数据表

求一个经验函数y=g(x),使

. g (x i ) =f (x i ), i =1, ……n 式(1-1)

插值的任务就是由已知的观测点(xi,yi)为物理量(未知量), 建立一个简单的、连续的解析模型g(x) ,以便能根据该模型推测该物理量在非观测点处的特性[2]。

第一章 绪论

3

y 201

图1.1 插值法思想 n x

1.2. 曲线拟合概述

1.2.1曲线拟合的背景

实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;

疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。

1.2.2曲线拟合的思想

曲线拟合的基本思想是根据已知数据表,如下表:

表1.3 曲线拟合数据观测表

求一个经验函数y=g(x),使得

∑(g (x ) -f (x )) i i

i =1n 2=min 式(1-2)

所求的的函数g(x)的拟合函数。而每个数据点分布在拟合曲线的两侧,拟合曲线不需要经过数据点。如下图:

4 基于Matlab 的插值法与曲线拟合数值计算方法研究

图1.2 曲线拟合思想

1.3本文研究内容

本文题目是基于MATLAB 的插值法与曲线拟合的数值计算方法研究。各章节内容分别下:

第一章,绪论,即研究学习了解插值法与曲线拟合相关研究背景以及数学思想。

第二章,插值法基本理论,即深入的学习研究了插值法,包括拉格朗日插值,牛 顿差值,样条插值等多种插值方法。

第三章,曲线拟合基本理论,即深入学习研究了曲线拟合,最主要的最小二乘法。以及最小二乘方程的解法。

第四章,基于MATLAB 的插值法仿真研究,即使用MATLAB 实现了通过拉格朗日插值法解决多个实际问题,包括了二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线并作图分析。

第五章,基于MATLAB 的曲线拟合仿真研究,即使用MATLAB 实现了通过多项式曲线拟合解决两个实际问题。 根据研究氮肥(N )的施肥量与土豆产量的影响所得数据曲线拟合出相关函数关系和铁在冶炼过程中含碳量与时间的关系分析并做图分析。

第六章,总结,即比较插值法与曲线拟合两类问题的特点与不同之处,总结全文研究要点。

第二章 插值法基本理论

5

第二章 插值法基本理论

2.1插值法基本定义

设函数y =f (x ) 在一个区间[a , b ]上连续,且在n+1个不同的点 a ≤x 0, x 1, , x n ≤b 上分别取值y 0, y 1, , y n ,在一个性质优良且便于计算的函数类φ 中,求一个简单函数p (x ) ,使得

P (x i )=y i (i =0, 1, n ) 式(2-1)

而在x ≠x i 上,作为f (x ) 的近似。称该区间为插值区间,点 为插值节点,称式(2-1)为 f (x ) 的插值条件,并称函数类φ为插值函数类,称 p (x ) 为函数在节点 x 0, x 1, , x n 处的插值函数。求插值函数 p(x) 的方法就称为插值法。插值函数类φ的取法不同,所求得的插值函数p(x)逼近f(x)的效果就不同它的选择取决于使用上的需要。常用的方法有代数多项式、三角多项式和有理函数等[3]。

当选用代数多项式作为插值函数时,那相应的插值问题就称为多项式插值。 在多项式插值中,最常见、最基本的问题是:求一次数不超过n 的代数多项式

P n (x )=a 0+a 1x + +a n x n 式(2-2)

使 P n (x i )=y i (i =0, 1, , , n ) 式(2-3)

其中 为实数。满足插值条件(2-3)的多项式(2-2),称为函数f(x) 在节点处的n 次插值值多项式。

2.1.1唯一定理

满足插值条件的、次数不超过n 的多项式是存在而且是唯一的。

2.1.2几何意义

n 次插值多项式 a , a , 的几何意义:过曲线y = f(x) 上的n+1个点

6 基于Matlab 的插值法与曲线拟合数值计算方法研究 (x i , y i )(i =0, 1, , n ) 作一条n 次代数曲线

2.1。

Y

x

) ,作为曲线y = f(x) 的近似,如图

图2.1 插值法几何意义

2.2 拉格朗日(Lagrange )插值

设函数y =f (x ) 在n +1个相异点x 0, x 1, x 2, ⋅⋅⋅, x n 上的函数值为y 0, y 1, y 2, ⋅⋅⋅, y n ,要求一个次数不得超过n 的代数多项式

P n (x ) =a 0+a 1x +a 2x 2+⋅⋅⋅+a n x n 式(2-4)

使得在节点x i 上有P n (x i ) =y i (i =0, 1, 2, ⋅⋅⋅, n ) 成立,称为n 次代数插值问题,P n (x ) 称为插值多项式.则可以证明n 次代数插值是唯一的。 事实上: 可以得到:

⎡n ⎛x -x i P n (x ) =∑⎢∏ j =0⎢i =0⎝x j -x i ⎣(i ≠j ) n ⎫⎤⎪⎥y j 式(2-5) ⎪⎥⎭⎦

当n =1时,有二点一次(线性)插值多项式:

P 1(x ) =x -x 0x -x 1y 0+y 1 式(2-6) x 0-x 1x 1-x 0

当n =2时,有三点二次(抛物线)插值多项式:

第二章 插值法基本理论

7

P 2(x ) =

(x -x 0)(x -x 2) (x -x 0)(x -x 1) (x -x 1)(x -x 2)

y 0+y 1+y 2式(2-7)

(x 0-x 1)(x 0-x 2) (x 1-x 0)(x 1-x 2) (x 2-x 0)(x 2-x 1)

2.3牛顿(Newton )插值

牛顿插值的基本思想:

由于y =f (x ) 关于二节点x 0, x 1的线性插值为:

p 1(x ) =f (x 0) +

f (x 1) -f (x 0) f (x 1) -f (x 0)

(x -x 0) =p 0(x 0) +(x -x 0) 式(2-8)

x 1-x 0x 1-x 0

假设满足插值条件f (x i ) =y i =p 2(x i ) (i =0, 1, 2) 的二次插值多项式的一般形式为

p 2(x ) =c 0+c 1(x -x 0) +c 2(x -x 0)(x -x 1) 式(2-9)

由插值条件可得:

⎧c 0=f (x 0) ⎪

⎨c 0+c 1(x 1-x 0) =f (x 1) 式(2-10)

⎪c +c (x -x ) +c (x -x )(x -x ) =f (x )

120220212⎩0

可以解出,得:

f (x 1) -f (x 0) ⎧c =f (x ), c =01⎪0

x 1-x 0

⎪⎪

f (x 2) -f (x 1) f (x 1) -f (x 0) 式(2-11) ⎨

-⎪x 2-x 1x 1-x 0

⎪c 2=⎪x 2-x 0⎩

所以:

p 2(x ) =c 0+c 1(x -x 0) +c 2(x -x 0)(x -x 1) =p 1(x ) +c 2(x -x 0)(x -x 1) 式(2-12) 类似的方法,可以得到三次插值多项式等,如果按这种思想则可以得到一般的牛顿插值公式[4]。

函数的差商及其性质:

对于给定的函数f (x ) ,用f (x 0, x 1, ⋅⋅⋅, x n ) 表示关于节点x 0, x 1, ⋅⋅⋅, x n 的n 阶差商,则有:

8 基于Matlab 的插值法与曲线拟合数值计算方法研究

一阶差商:f (x 0, x 1) =

f (x 1) -f (x 0) f (x 2) -f (x 1)

,f (x 1, x 2) =

x 1-x 0x 2-x 1

f (x 1, x 2) -f (x 0, x 1)

x 2-x 0

二阶差商:f (x 0, x 1, x 2) =

由此得:n 阶差商:f (x 0, x 1, ⋅⋅⋅, x n ) =差商有以下性质:

(1)差商的分加性:f (x 0, x 1, ⋅⋅⋅, x n ) =∑

k =0n

f (x 1, x 2, ⋅⋅⋅, x n ) -f (x 0, x 1, ⋅⋅⋅, x n -1)

x n -x 0

f (x k )

j =0(j ≠k )

∏(x

n

k

-x j )

(2)差商的对称性:在f (x 0, x 1, ⋅⋅⋅, x n ) 中任意调换x i , x j 的次序其值不会变。 牛顿插值法公式: 一次插值公式为:

p 1(x ) =f (x 0) +f (x 0, x 1)(x -x 0) 式(2-13)

二次插值公式为:

p 2(x ) =f (x 0) +f (x 0, x 1)(x -x 0) +f (x 0, x 1, x 2)(x -x 0)(x -x 1)

=p 1(x ) +f (x 0, x 1, x 2)(x -x 0)(x -x 1)

于是有一般的牛顿插值公式为:

p n (x ) =f (x 0) +f (x 0, x 1)(x -x 0) +f (x 0, x 1, x 2)(x -x 0)(x -x 1) +⋅⋅⋅

+f (x 0, x 1, ⋅⋅⋅, x n )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1) =p n -1(x ) +f (x 0, x 1, ⋅⋅⋅, x n )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1)

式(2-14)

式(2-15)

可以证明:其余项为:

R (x ) =f (x 0, x 1, ⋅⋅⋅, x n , x )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1)(x -x n ) 式(2-16)

实际上,牛顿插值公式是拉格朗日插值公式的一种变形,二者是等价的。另外还有著名的埃尔米特(Hermite )插值等。

2.4样条函数插值方法

样条(spline ),在英语中是指富有弹性的细长木条。样条函数实质上是由分段多项式光滑连接成的函数,一般称之为多项式样条。由于样条函数的特殊性质,

第二章 插值法基本理论

9

决定了样条函数在实际中有着很多重要的应用。 样条函数的一般概念:

定义:设给定区间[a , b ]的一个分划∆:a =x 0

则称s (x ) 是关于分划△的一个k 次多项式样条函数,x 0, x 1, ⋅⋅⋅, x n 称为样条节点,

x 1, x 2, ⋅⋅⋅, x n -1称为内节点,x 0, x n 称为边界节点,这类样条函数的全体记作S P (∆, k ) ,

称为k 次样条函数空间。

若s (x ) ∈S P (∆, k ) ,则s (x ) 是关于分划△的k 次多项式样条函数。k 次多项式样条函数的一般形式为

s k (x ) =∑

i =0

k

αi x i

i !

+∑

j =1

n -1

βj

k !

(x -x j ) k + 式(2-17)

其中αi (i =0, 1, , k ) 和βj (j =1, 2, , n -1) 均为任意常数,而

k

⎧(x -x ) , x ≥x j ⎪j k

(x -x j ) +=⎨(j =1, 2, , n -1) 式(2-18)

⎪⎩0, x

在实际中最常用的是k =2和3的情况,即为二次样条函数和三次样条函数。 二次样条函数:对于[a , b ]上的分划∆:a =x 0

s 2(x ) =α0+α1x +

α2

2!

x +∑

2

j =1

n -1

βj

2!

(x -x j ) 2+∈S P (∆, 2) 式(2-19)

2

⎧⎪(x -x j ) , x ≥x j

(j =1, 2, n -1) 。 其中(x -x j ) =⎨

⎪⎩0, x

2+

三次样条函数:对于[a , b ]上的分划∆:a =x 0

s 3(x ) =α0+α1x +

α2

2!

x +

2

α3

3!

x +∑

3

j =1

n -1

βj

3!

(x -x j ) 3+∈S P (∆, 3) 式(2-20)

3

⎧⎪(x -x j ) , x ≥x j

(j =1, 2, n -1) 。 其中(x -x ) =⎨

⎪⎩0, x

3

j +

10 基于Matlab 的插值法与曲线拟合数值计算方法研究

2.4.1二次样条函数插值

s 2(x ) ∈S P (∆, 2) 中含有n +2个待定常数,故应需要n +2个插值条件,因此,二次样条插值问题可分为两类:

问题(1):已知插值节点x i 和相应的函数值y i (i =0, 1, 2, ⋅⋅⋅, n ) ,以及端点x 0 (或x n ) 处的导数值y ' 0 (或y ' n ) ,求s 2(x ) ∈S P (∆, 2) 使得

⎧s 2(x i ) =y i (i =0, 1, 2, ⋅⋅⋅, n ) ⎨ 式(2-21) ''''s (x ) =y (或s (x ) =y ) ⎩2002n n

问题(2):已知插值节点x i 和相应的导数值y i '(i =0, 1, 2, ⋅⋅⋅, n ) ,以及端点x 0 (或x n ) 处的函数值y 0 (或y n ) ,求s 2(x ) ∈S P (∆, 2) 使得

'(x i ) =y i '(i =0, 1, 2, ⋅⋅⋅, n ) ⎧s 2⎨ 式(2-22) s (x ) =y (或s (x ) =y ) 02n n ⎩20

事实上,可以证明这两类插值问题都是唯一可解的. 对于问题(1),由条件(2-21)

1⎧2

s (x ) =α+αx +αx 01020=y 0⎪20

2

⎪s (x ) =α+αx +1αx 2=y

111211⎪21

2⎨ j -1⎪1122

⎪s 2(x j ) =α0+α1x j +α2x j +∑βi (x j -x i ) =y j , j =2, 3, , n

22i =1

⎪⎪'⎩s '2(x 0) =α1+α2x 0=y 0

') T 为已知向引入记号X =(α0, α1, α2, β1, , βn -1) T 为未知向量,C =(y 0, y 1, , y n , y n

量,

⎡⎢1⎢⎢1⎢A =⎢1

⎢⎢ ⎢⎢1⎢⎢0⎣

x 0x 1x 2 x n 1

12

x 0212x 1212x 22 12x n 2x 0

1

(x 2-x 1) 22

1

(x n -x 1) 22

⎤⎥⎥⎥0

⎥⎥ ⎥⎥

⎥12

(x n -x n -1) ⎥

2⎥ 0⎥⎦

于是,问题转化为求方程组AX =C 的解X =(α0, α1, α2, β1, , βn -1) T 的问题,

第二章 插值法基本理论

11

即可得到二次样条函数的s 2(x ) 的表达式。 2.4.2三次样条函数插值

由于s 3(x ) ∈S P (∆, 3) 中含有n +3个待定系数,故应需要n +3个插值条件,因此可将三次样条插值问题分为三类:

问题(1):已知插值节点x j 和相应的函数值y j (j =0, 1, 2, ⋅⋅⋅, n ) ,以及两个端点x 0,x n 处的导数值y ' 0,y ' n ,求s 3(x ) ∈S P (∆, 3) 使满足条件

⎧⎪s 3(x j ) =y j (j =0, 1, ⋅⋅⋅, n )

式(2-23) ⎨

''s (x ) =y (j =0, n ) ⎪j ⎩3j

问题(2):已知插值节点

x j

和相应函数值

y j (j =0, 1, 2, ⋅⋅⋅, n )

,以及两端点x 0,x n 处

'',y n '',求s 3(x ) ∈S P (∆, 3) 使满足条件 的二阶导数值y 0

⎧⎪s 3(x j ) =y j (j =0, 1, ⋅⋅⋅, n )

式(2-24) ⎨

''''s (x ) =y (j =0, n ) ⎪j ⎩3j

问题(3):类似地,求s 3(x ) ∈S P (∆, 3) 使满足条件

⎧⎪s 3(x j ) =y j (j =0, 1, , n ) ⎨(k ) 式(2-25) (k )

⎪⎩s 3(x n -0) =s 3(x 0+0)(k =0, 1, 2)

这三类插值问题的条件都是n +3个,可以证明其解都是唯一的[5]。

一般的求解方法可以仿照二次样条的情况处理方法,在这里给出一种更简单的方法.仅依问题(1)为例,问题(2)和问题(3)的情况类似处理。

由于在s 3(x ) ∈S P (∆, 3) 区间[a , b ]上是一个分段光滑,且具有二阶连续导数的三

''(x j )(j =0, 1, , , n ) 为''(x ) 是线性函数,记d j =s 3次多项式,则在子区间[x j , x j +1]上s 3待定常数.由拉格朗日插值公式可得

''(x ) =d j s 3

d j +1-d j

h j

x j +1-x h j

+d j +1

x -x j h j

, h j =x j +1-x j , j =0, 1, , n

显然s 3'''(x ) =在[x j , x j +1]上为常数.于是在[x j , x j +1]上有

d j 2

d j +1-d j

6h j

'(x j )(x -x j ) +s 3(x ) =y j +s 3(x -x j ) 2+

(x -x j ) 3 式(2-26)

12 基于Matlab 的插值法与曲线拟合数值计算方法研究

则当x =x j +1时,由式(2-26)和问题(1)的条件得

'(x j ) h j +s 3(x j +1) =y j +s 3

d j 2h +

2

j

d j +1-d j

6

h 2j =y j +1

故可解得

'(x j ) =s 3

y j +1-y j

h j

-h j 6

(2d j +d j +1) 式(2-27)

将式(2-27)代入式(2-26)得

⎡y j +1-y j h j ⎤d j

s 3(x ) =y j +⎢-(2d j +d j +1) ⎥(x -x j ) +(x -x j ) 2

62⎢⎥⎣h j ⎦ 式(2-28)

d j +1-d j +(x -x j ) 3, x ∈[x j , x j +1](j =0, 1, , n -1)

6h j

在[x j -1, x j ]上同样的有

⎡y j -y j -1h j -1⎤d j -1

s 3(x ) =y j -1+⎢-(2d j -1+d j ) ⎥(x -x j -1) +(x -x j -1) 2

62⎢⎥⎣h j -1⎦ 式(2-29)

d j -d j -1+(x -x j -1) 3, x ∈[x j -1, x j ](j =1, 2, , n ) 6h j -1

根据s 3(x ) 的一阶导数连续性,由式(2-29)得

'(x j -0) = s 3

y j -y j -1

h j -1

+h j -16

'(x j ) (2d j +d j -1) =s 3

结合式(2-27)整理得

h j -1h j +h j -1

d j -1+2d j +

h j h j +h j -1

d j +1

⎛y j +1-y j y j -y j -1⎫6 ⎪ =-

h j +h j -1⎝h j h j -1⎪⎭

⎛y j +1-y j y j -y j -1⎫h j -16 ⎪,1-a j =, c j =-引入记号a j =.则

⎪h j +h j -1h j +h j -1⎝h j h j -1⎭h j +h j -1

h j

(1-a j ) d j -1+2d j +a j d j +1=c j , (j =1, 2, , n -1) 式(2-30)

'(x 0) =y 0', s 3'(x n ) =y n '得 再由边界条件:s 3

第二章 插值法基本理论

13

⎧⎫6⎛y 1-y 0

⎪'2d +d =-y ⎪010⎪ h h 0⎝0⎪⎭

式(2-31) ⎨

y n -y n -1⎫⎪d +2d =6⎛ ⎪'y n -n ⎪⎪n -1

h h n -1n -1⎝⎭⎩

联立式(2-30),(2-31)得方程组

A ⋅D =C

其中

⎡6⎛y 1-y 0⎡d 0⎤⎫⎤1⎡2⎤ ⎪'-y ⎢0⎪⎥⎢d ⎥ ⎢1-a 2⎥a 0⎭⎥⎢h 0⎝h 0⎢1⎥⎢0⎥

c 1⎢⎥⎢ ⎥⎢⎥

⎥式(2-32) A =⎢⎥,C =⎢⎥,D =⎢ ⎢⎥1-a n -22a n -2⎢⎥⎢⎥⎢⎥c n -1

⎢d n -1⎥⎢1-a n -12a n -1⎥⎢⎥⎛⎫y -y ⎢⎥6⎢⎥n n -1⎢⎥ ⎪'-y n 12⎥⎢⎢⎣d n ⎥⎦⎣⎦ ⎪⎢h n -1⎭⎥⎣h n -1⎝⎦

由方程组(2.32)可以唯一解出d j (j =0, 1, , n ) ,代入式(2-28)就可以得三次样条函数s 3(x ) 的表达式.

除此以外还有很多其它的插值方法例如分段线性插值、二次样条插值、三次样条插值等。

2.5高次插值的龙格现象

插值多项式余项公式说明插值节点越多,一般说来误差越小,函数逼近越好,但这也不是绝对的,因为余项的大小既与插值节点的个数有关,也与函数f(x)的高阶导数有关。换句话说,适当地提高插值多项式的次数,有可能提高计算结果的准确程度,但并非插值多项式的次数越高越好。当插值节点增多时,不能保证非节点处的插值精度得到改善,有时反而误差更大。 考察函数 f (x ) =

1P 10(x ) 的图像, 当n P (x ) , -5≤x ≤5 右图给出了和5

1+x 2

增大时, P n (x ) 在两端会发出激烈的振荡, 这就是所谓龙格现象。该现象表明, 在大范围内使用高次插值, 逼近的效果往往是不理想的 。

14 基于Matlab 的插值法与曲线拟合数值计算方法研究

图2.2 2.6近f(x)。

第三章 曲线拟合基本理论

15

第三章 曲线拟合基本理论

插值方法要求插值曲线严格地通过所给的每一个数据点(样点),数据本身存在的不可避免的误差会反映到插值结果中。如果数据误差很大的话,用插值方法显然就不恰当了,可以用曲线拟合方法。

曲线拟合法: 设法构造一条曲线反映所给数据点的总趋势(但不一定过点),以消除其局部的波动 。

3.1最小二乘拟合法

如果已知函数f(x)在若干点xi(i=1,2,…,n)处的值yi, 便可根据插值原理来建立插值多项式作为f(x)的近似。但是在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确,这些函数值很多是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保留所有这一切测试误差。那么当个别数据的误差较大时, 插值效果显然是不会理想的。此外, 由实验或观测提供的数据个数往往很多, 如果用插值法, 势必得到次数较高的插值多项式,这样计算起来会很烦琐。

换句话说:求一条曲线, 使数据点均在离此曲线的上方或下方不远处, 所求的曲线称为拟合曲线, 它既能反映数据的总体分布, 又不至于出现局部较大的波动, 更能反映被逼近函数的特性, 使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小, 这就是曲线拟合[6]。

与函数插值问题不同, 曲线拟合不要求曲线通过所有已知点, 而是要求得到的近似函数能反映数据的基本关系。在某种意义上, 曲线拟合更有实用价值。其中令

δi =y (x i ) -y i 在回归分析中称为残差。一般使用22=∑δ=∑(y (x i ) -y i ) 2作为

2

i i =0

i =0

m m

衡量y (x ) 跟数据点(x i , y i ) 偏离程度大小的度量标准,称为平方误差。在对给出的实验(或观测) 数据作曲线拟合时, 怎样才算拟合得最好呢?一般希望各实验(或观测) 数据与拟合曲线的偏差的平方和最小, 这就是最小二乘原理。

16 基于Matlab 的插值法与曲线拟合数值计算方法研究

3.2最小二乘拟合函数的求解

要使最小二乘问题的目标函数(5.17)达到最小,则由多元函数取得极值的必要条件得

∂S

=0(k =0, 1, 2, , m ) 式(3-1) ∂a k

⎡m ⎤w a φ(x ) -y φk (x i ) =0(k =0, 1, 2, ⋅⋅⋅⋅, m ) 式(3-2) ∑i ⎢∑k k i i ⎥i =1⎣k =0⎦

亦即

n

⎡n ⎤

∑⎢∑w i φj (x i ) φk (x i ) ⎥a j =∑w i y i φk (x i ) (k =0, 1, 2, ⋅⋅⋅⋅, m ) 式(3-3)

j =0⎣i =1i =0⎦

m

n

是未知量为a 0, a 1, a 2, ⋅⋅⋅, a m 的线性方程组,称(3-3)式为正规方程组。

实际中可适当选择函数系{φk (x ) }k =0,由正规方程组解出a 0, a 1, a 2, ⋅⋅⋅, a m ,于是

m

可得最小二乘拟合函数φ(x ) =∑a k φk (x ) 。

k =0

m

第四章 基于MA TLAB 的插值法仿真研究

17

第四章 基于MATLAB 的插值法仿真研究

4.1算法及流程图

我们可以从前文得知,拉格朗日插值多项式为:

⎡n ⎛x -x

i

P n (x ) =∑⎢∏

j =0⎢i =0⎝x j -x i ⎣(i ≠j )

n

⎫⎤

⎪⎥y j 式(4-1) ⎪⎥⎭⎦

MATLAB 中没有提供现成的函数用于实现拉格朗日插值,我们可以自己编写lang.m 函数来实现拉格朗日插值。如图4.1,我们画出lang 函数的实现流程图。

从图中我们可以看到,函数刚开始需要校验x ,y 两向量长度是否相同,然后求出拉格朗日基函数,最后经过循环求出插值多项式并求出x0点处对应的函数值。

4.2代码解析

结合以上流程图,我们写出了以下MATLAB 程序,实现了拉格朗日插值法[7]。通过多次for 循环将基函数运算,求出拉格朗日插值多项式。

function s=Lagrangenew(x,y,x0)

%lagrange插值,x ,y 为已知的插值点及其函数值 %x0为要求的插值点的x 值 nx=length(x); ny=length(y); if nx~=ny

warning(' 矢量x 与y 的长度应该相等' ) return end

m=length(x0);

%按照公式,对要求的插值点矢量x0的每个元素进行计算 for i=1:m

t=0.0;

18

for j=1:nx u=1.0; for k=1:nx

基于Matlab 的插值法与曲线拟合数值计算方法研究

if k~=j

u=u*(x0(i)-x(k))/(x(j)-x(k)); end end t=t+u*y(j); end s(m)=t; end Return

图4.1 插值法流程图

第四章 基于MA TLAB 的插值法仿真研究

19

4.3插值法应用

在研究过程,我做了很多的尝试,尝试用插值法解决实际问题,用以体现插值法的高效准确性,本文中将提到我的三次尝试与试验。首先是二氧化硫传感器中二氧化硫浓度与传感电压之间的关系,其次是最近十年来93#汽油价格变化问题,最后就是中国石油股票(601857)2013年各月月末收盘价变化。 4.3.1二氧化硫浓度与电压

首先,我们通过实验室获取了一组2SH12二氧化硫传感器数据,我们打算根据这十组数据来观察插值法是否适用于这些采集自实验室的数据。 如下:

表4.1 2SH12二氧化硫传感器数据V/PPM,R0=2k,电压信号单位为V.

当我们代入五组以上数据到我们通过MATLAB 实现的拉格朗日插值法中时,我们看一下结果:

当浓度为250ppm 时,电压值为2.025V ,如图:

图4.2 250ppm时5点插值法

20 基于Matlab 的插值法与曲线拟合数值计算方法研究

当浓度为400ppm 时,传感器电压值为2.588. 如图:

图4.3 400ppm时5点插值法

然后,我们增加数据带入个数,即增加插值点个数。同时,我们将浓度值为 100ppm 时的电压值设置为未知,根据插值法计算当时的电压值得v=1.5856。程序运行结果如下:

图4.4 100ppm时10点插值

当把浓度值为250ppm 时,计算得传感器电压值为2.0951V 。

第四章 基于MA TLAB 的插值法仿真研究

21

图4.5 250ppm浓度10点插值

继续实验,当浓度值为400ppm 时,传感器电压值为2.3156V

.

图4.6 400ppm浓度时10点插值

根据以上五次试验,我们可以发现,插值法求出的电压值基本符合实际变化趋势,且误差较小。当二氧化硫传感器的浓度为已知数值时,我们就可以大致求出该浓度下传感器的电压值。同时我们可以看出,随着插值点的增加,误差会逐步减小。

4.3.2 93#汽油价格计算

查阅中国网上历年来的资料,我们了解到了2004年到2013年历年来我国93#汽油的平均价格[8],如下,我们想要看看这些来自与市场的数据是否可以使用插值法来求解。

22 基于Matlab 的插值法与曲线拟合数值计算方法研究

表4.2 93#汽油历年油价数据

我们将上述数据带入到我们我们通过MATLAB 实现的拉格朗日插值法程序当中,以便经行我们的实验。

当把2009年的油价作为未知数据时,我们可以通过程序计算得到此时油价为6.321,同时得到运行结果:

图4.7 2009年油价插值

随后我们进行了多组实验,得到如下实验结果:

表4.3 历年油价真实值与计算值比较

我们可以从以上实验数据中明显发现,2004到2013年以来93#

油价的计算值与实际值之间有很大的误差,经过一系列分析查证,我们了解到,插值法所描绘的图像是经过每一点的折线,所以每个点的数据误差都会对对计算造成很大影响,而本次实验的数据采集本身具有局限性同时数据变动也较大,所以插值法不适于用来解决波动较大,误差较大的实际问题。

第四章 基于MA TLAB 的插值法仿真研究

23

4.3.3中国石油股票月K 线分析

我们在东方财经网上找到了中石油股票(601857)2013年月K 线,并读取了

各月月末收盘价数据,如下:

图4.8 中国石油2013年月k 线 表4.4 中石油股票2013个月月末收盘价

我们想要看看拉格朗日插值法是否可以计算出2013年某个特定月份的月末收盘价,前提是已知了当月其他月份的相关数据。于是我们进行了如下实验: 将以上数据带入到程序中,当已知其他月份求8月份收盘价时,我们得出结果:当x=8时,收盘价y=7.903.如下图:

图4.9 8月份油价插值

24 基于Matlab 的插值法与曲线拟合数值计算方法研究

当已知其他月份求8月份收盘价时,即x=9时,y=7.839如图:

图4.10 9月份油价插值

我们可以看得出来,中国石油这个股票在2013年变化较为平缓,我们得出的计算结果都非常接近真实值,误差较小。

4.4插值法应用小结

根据以上提到的三个实验,我们可以总结出以下结论,插值法更适用于变化平缓的数值问题的解决,各插值点数据的误差会对计算结果造成很大影响,插值点多一些会使计算结果的误差小一些。

第五章 基于MA TLAB 的曲线拟合仿真研究

25

第五章 基于MATLAB 的曲线拟合仿真研究

5.1基于MATLAB 实现曲线拟合

MATLAB 软件提供了基本的曲线拟合函数的命令即曲线拟合工具箱(“Curve Fitting toolbox)。 其中主要包括:

多项式函数拟合:a=polyfit(xdata,ydata,n)

其中n 表示多项式的最高阶数,xdata ,ydata 为将要拟合的数据,它是用 数组的方式输入。输出参数a 为拟合多项式的系数。 多项式在x 处的值y 可用下面程序计算: y=polyval(a,x) 一般的曲线拟合计算方式:

p=curvefit(‘Fun’,p0,xdata,ydata) 其中Fun 表示函数Fun(p,data)的M 函数文件,p0表示函数的初值。

curvefit()命令的求解问题形式是: 若要求解点x 处的函数值可用程序f=Fun(p,x)计算[9]。

5.2曲线拟合应用

在实验过程中,我们发现实际工作中对象间的关系不是明显可得的;通过对象变化的测量数据分析对象间的关系;测量数据通常是离散的,不能充分反映对象间的关系;需要将离散测量数据连续化[10];所以我们运用曲线拟合法来解决下面问题。本文中介绍我在研究过程中的两次实验,分别是氮肥施肥量与土豆产量关系、铁在冶炼过程中含碳量与时间的关系。通过这两次试验分析曲线拟合的特点。

5.2.1氮肥的施肥量与土豆产量之间的关系分析

我们根据某研究所为研究氮肥(N )的施肥量和土豆产量之间的关系做的10次实验,所得的实验数据,利用曲线拟合法分析氮肥的施肥量与土豆产量之间的

26 基于Matlab 的插值法与曲线拟合数值计算方法研究

关系,计算出函数关系式并绘图。

表5.1 历年油价真实值与计算值比较

施肥问题目标是要得出氮肥的施肥量与土豆产量之间的连续关系;反映两者关系的只有10组离散实验数据,为了通过曲线拟合寻找函数关系,我们事先将所有数据点描出,发现粗略符合二次函数图像,所以我们经行了二次拟合。

图5.1 施肥关系数据描述

将以上十组数据代入到我们基于MATLAB 编写的曲线拟合程序中,得到如下运行结果:

利用曲线拟合法求得拟合二次函数 y=14.7416+0.1971x-0.0003x2

画出了二次函数的图像如下所示:

第五章 基于MA TLAB 的曲线拟合仿真研究

27

图5.2 施肥关系拟合曲线

我们可以从实验所得图像中看到,曲线拟合时不需要严格的经过某个数据点,而是绘制出了一条平滑的曲线即可反应问题的基本关系。根据图像我们得出每公顷施肥290吨是,土豆产量达到最高为43.63吨左右。

5.2.2铁的冶炼过程中含碳量和时间关系分析

查阅资料,我们找到一组关于铁在冶炼过程中时间与检测到的含碳量的数据,希望利用曲线拟合来分析这组数据从而得到相关函数关系。

表5.2碳含量与冶炼时间关系表

我们将以上数据点先描绘出来,如下:

图5.3 冶炼时间与碳含量数据描述

28 基于Matlab 的插值法与曲线拟合数值计算方法研究

我们首先进行了一次拟合,得到了如下一次拟合多项式:

Y=0.082*x+0.1973

图像如下:

图5.4 冶炼时间与碳含量关系一次拟合

随后,我们又进行了二次拟合得出以下结果:

二次拟合多项式:y=0.1193+0.2239*x-0.0029*x^2

函数图像如下:

图5.5 冶炼时间与碳含量关系二次插值曲线

从实验结果和实际的离散点数据比对,该拟合曲线的拟合性还是很好的。相比一次拟合精确度有了大幅度提升。我们可以得出结论,适当的多项式可以让拟合结果更逼近真实值。

第五章 基于MA TLAB 的曲线拟合仿真研究

29

5.3曲线拟合应用小结

由以上两组实验我们会发现,曲线拟合不要求曲线通过所有已知点,而是要求得到近似的函数关系来反应数据的基本关系。这样的话,某个数据点的误差不会对实验结果成太大影响。其次我们发现适当的增加拟合多项式次数可以使拟合结果更逼近真实值。

30 基于Matlab 的插值法与曲线拟合数值计算方法研究

第六章 总结

31

第六章 总结

6.1插值法与曲线拟合比较

插值和拟合都是函数逼近或者数值逼近的重要组成部分。在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确的,这些函 数值是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保留着一切测试误差。当个别数据的误差较大时, 插值效果显然是不理想的。此外, 由实验或观测提供的数据个数往往很多, 如果用插值法, 势必得到次数较高的插值多项式,这样计算起来很烦琐。

另一方面:求一条曲线, 使数据点均在离此曲线的上方或下方不远处, 所求的曲线称为拟合曲线, 它既能反映数据的总体分布, 又不至于出现局部较大的波动, 更能反映被逼近函数的特性, 使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小, 这就是曲线拟合与函数插值问题不同, 曲线拟合不要求曲线通过所有已知点, 而是要求得到的近似函数能反映数据的基本关系。在某种意义上, 曲线拟合更有实用价值[11]。

从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(或几个分片光滑的) 连续曲面来穿过这些点。

6.2全文总结

插值法和曲线拟合是两种不同的方法,有其各自的特点。对于插值法,设

即∑(y (x i ) -y i ) 2等P n (x ) =a 0+a 1x +a 2x 2+⋅⋅⋅+a n x n 再给定节点xi 处的值等于yi ,

i =0m

于零,当然可以使得误差最小,但是,如果要使得在所有给定的值相等, p(x)必然要是n 次多项式,那么在n 相对较大的时候得到的多项式次数较高,对我们计算造成一定的困难,不能达到我们找一个简单函数的目的;若确定多项式的次数为m 而在已知数据点中选出个点来进行计算,这样可以使得得到的多项式函数相对简单但是我们要怎么去选出m+1个点呢?选出的点不同,得到的多项式必然也

32 基于Matlab 的插值法与曲线拟合数值计算方法研究

不相同,那么同一组数据点得到的不同多项式中那个比较好呢?这又需要我们去比较分析。最小二乘拟合中函数的选取与给定点的分布有关,函数形式比较多样,一般用得比较多的是多项式函数和指数函数,而指数函数是因为它可以通过对数变换变成多项式函数,有利于计算。更一般的最小二乘拟合法考虑的是加权平方和,即,∑(y (x i ) -y i ) 2使得其达到最小。利用最小二乘法可以使用所有节点做出

i =0m

任意次数的逼近函数。插值法与曲线拟合的研究应用涉及方方面面,横跨几个学科。需要研究的东西还有很多。下面是本文所做的主要工作:

首先,查阅文献了解当前插值法与曲线拟合研究背景了解插值法在古代历史历法计算中的应用,并分析了两种方法运算的基本思想。

其次,重点学习了解插值法基本理论,分别分析了拉格朗日插值,牛顿插值,样条插值等主要的插值方法。

再次,重点学习了曲线拟合的基本理论,分析了最小二乘法的以及最小二乘拟合函数的解法分析。

从次,进行了基于MATLAB 的插值法应用仿真研究,通过二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线分析这三组实验分析得出插值法更适用于变化平缓的数值问题的解决,各插值点数据的误差会对计算结果造成很大影响,插值点多一些会使计算结果的误差小一些。

然后,进行了基于MATLAB 的曲线拟合应用仿真研究,通过研究氮肥(N )的施肥量与土豆产量关系和铁在冶炼过程中含碳量与时间的关系两组实验分析曲线拟合应用的特点与不足。曲线拟合不要求曲线通过所有已知点,而是要求得到近似的函数关系来反应数据的基本关系。这样的话,某个数据点的误差不会对实验结果成太大影响。其次我们发现适当的增加拟合多项式次数可以使拟合结果更逼近真实值。

最后,总结全文比较插值法与曲线拟合的特点与不同。插值法与曲线拟合是两种不同的方法,都有各自的特点,没有孰好孰坏之分。关键是看对于具体问题的应用,对于不同的问题找到适合本身的方法就是最好的方法。

33

34 基于Matlab 的插值法与曲线拟合数值计算方法研究

参考文献

35

参考文献

[1] 王鹏岭,关春燕.浅议插值逼近方法及其发展[J].中国科技纵横,2010(20).

[2] 白洁静.关于插值法与最小二乘拟合的讨论[J].,2009(1).

[3] 孙志忠,吴宏伟,闻震初.计算方法与实习[M].第5版.南京:东南大学

出版社.

[4] By A.C.R.NEWBERY .Interpolation &Curve-Fitting .MATHEMATICS OF

CHAMUPATION.VOLUME,24.NUMBER,112三角插值与曲线拟合[J]

[5] 马昌凤.现代数值分析(MATLAB 版)[M].北京:国防工业出版社,2013.

[6] 王斌.基于MATLAB 的数值计算_插值及曲线拟合[J].阴山学刊,2006,20.

[7] 黄光东,管建和,李响.基于Matlab 平台的插值法技术实现与应用[J].

[8] 张洪波.插值法应用的实例分析[J].华北科技学院学报,2010,7(3).

[9] 罗汉成,刘小山.曲线拟合法的Matlab 实现[J].

[10] 张德丰.MATLAB 实用数值分析[M].北京:清华大学出版社,2012.

[11] 韩艳丽,李凤萍.插值与曲线拟合[J].河南理工大学

摘 要

摘 要

插值法和曲线拟合是两种来源于实际,同时又广泛应用于实际的重要的数值

计算方法。随着计算机技术的不断发展以及人类计算机水平的逐步提高,他们在国民经济和科学研究中占据了越来越重要的地位。插值法与曲线拟合结合计算机技术例如MATLAB 等编译工具可以用来解决许多实际问题,可以做到高效快捷准确的计算出想要的结果。本文从MATLAB 的功能特点出发,研究了数值计算方法中的插值法和曲线拟合两类问题,比较了这两类问题的特点和不同之处,通过多组实验来进行进一步的研究,即使用MATLAB 实现通过拉格朗日插值法和曲线拟合解决实际问题。本文中实现了通过拉格朗日插值法解决三个实际问题,包括了二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线并作图分析。同时还实现了通过多项式曲线拟合解决两个实际问题, 即根据研究氮肥(N )的施肥量与土豆产量的影响所得数据曲线拟合出相关函数关系和铁在冶炼过程中含碳量与时间的关系分析并做图研究得到相应的结论。

关键词: 插值法 曲线拟合 MATLAB 数值计算

ABSTRACT

ABSTRACT

Interpolation and curve fitting are two methods come from actual , while widely used in actual important numerical . With the continuous development of computer technology and the gradual improvement of human computer skills , they occupy an increasingly important position in the national economy and scientific research . Interpolation and curve-fitting combining with computer technology and any other building tools such as MATLAB can be used to solve many practical problems by which can be solved quickly and efficiently accurately calculate the desired results. In this paper, starting from the function features of MATLAB to study the numerical method of interpolation and curve-fitting problems , comparing the characteristics of these two types of problems and differences , to carry out further research by two experiments that use MATLAB implementation to solve practical problems by Lagrange interpolation method to achieve a number of practical problems solved by Lagrange interpolation method , including sulfur dioxide and sensor voltage problem , the last decade of 93 # gasoline prices and oil stocks change on K line soldiers plot analysis .It also achieved by polynomial curve fitting solve two practical problems , according to a study of nitrogen (N) fertilization resulting impact on the amount of data and the potato yield curve fitting and the correlation function of the carbon content of iron in the smelting process and time relationship analysis and make the corresponding figure study conclusions .

Keywords: Interpolation Curve-Fitting MATLAB Numerical calculation

目录

1

目录

第一章 绪论 ........................................................ 1

1.1插值法概述 ................................................... 1

1.1.1 插值法的背景 . .......................................... 1

1.1.2 插值法的思想 . .......................................... 2

1.2. 曲线拟合概述 . ................................................ 3

1.2.1曲线拟合的背景 ......................................... 3

1.2.2曲线拟合的思想 ......................................... 3

1.3本文研究内容 ................................................. 4

第二章 插值法基本理论 .............................................. 5

2.1插值法基本定义 ............................................... 5

2.1.1唯一定理 ............................................... 5

2.1.2几何意义 ............................................... 5

2.2 拉格朗日(Lagrange )插值 . .................................... 6

2.3牛顿(Newton )插值 ........................................... 7

2.4样条函数插值方法 ............................................. 8

2.4.1二次样条函数插值 ...................................... 10

2.4.2三次样条函数插值 ...................................... 11

2.5高次插值的龙格现象 .......................................... 13

2.6插值法小结 .................................................. 14

第三章 曲线拟合基本理论 ........................................... 15

3.1最小二乘拟合法 .............................................. 15

3.2最小二乘拟合函数的求解 ...................................... 16

第四章 基于MATLAB 的插值法仿真研究................................. 17

4.1算法及流程图 ................................................ 17

4.2代码解析 .................................................... 17

4.3插值法应用 .................................................. 19

4.3.1二氧化硫浓度与电压 .................................... 19

2 基于Matlab 的插值法与曲线拟合数值计算方法研究

4.3.2 93#汽油价格计算 ...................................... 21

4.3.3中国石油股票月K 线分析 . ................................ 23

4.4插值法应用小结 . .............................................. 24

第五章 基于MATLAB 的曲线拟合仿真研究 .............................. 25

5.1基于MATLAB 实现曲线拟合 . ..................................... 25

5.2曲线拟合应用 . ................................................ 25

5.2.1氮肥的施肥量与土豆产量之间的关系分析 . .................. 25

5.2.2铁的冶炼过程中含碳量和时间关系分析 . .................... 27

5.3曲线拟合应用小结 . ............................................ 29

第六章 总结 ...................................................... 31

6.1插值法与曲线拟合比较 . ........................................ 31

6.2全文总结 . .................................................... 31 致 谢 .............................................. 错误!未定义书签。

参考文献 .......................................................... 35

第一章 绪论

1

第一章 绪论

在工程实践和科学实验中,经常会遇到计算函数问题,就是数值方法本身而言有很多问题最后也都是转化成了函数数值的计算。然而,有时候遇到非常复杂的函数关系,甚至没有明确的表达式或者有表达式但却无法知道。插值与拟合往往就是解决这些问题的方法。例如一些问题需要建立函数关系,即y=f(x)。虽然从原则上说,它在某个区间[a,b]上是存在的,但通常只能观测到它的部分信息,即只能获取[a,b]上一系列离散点上的值,这些值构成了观测数据。这就是说,我们只知道的一张关于x 与f(x)的观测数据表,如下:

表1.1 关于x 与f(x)的观测数据表

然而,当不知道函数在其他点x 上的取值时,只能用一个经验函数y=g(x)对

真实函数y=f(x)作近似。下面本文将引入两种两种常用办法来确定经验函数y=g(x),它们分别是插值法与曲线拟合法。

1.1插值法概述

1.1.1 插值法的背景

插值法是一种古老的数学方法,早在一千多年前的隋唐时期定制历法时就广

泛应用了二次插值. 二次插值法的创立, 是隋唐数学的一项重大成绩。插值法是根据两个自变量的已知函数值的近似计算方法。这种方法是很有使用价值的。例如, 在天文观测中, 人们不可能每时每刻都进行观测, 因此只能得到日月五星某些时刻在天球上的位置。利用这些观测记录推算日月五星在其他时刻的位置, 就要用到插值法, 这对于天文计算特别是日月交食的推算是十分重要的。实际上在《周髀》和《九章》中就已有了一次插值公式。东汉末天文学家刘洪制定《乾象历》, 为计算月球在近地点后( n+s) 日的共行度数, 采用了一次插值公式

[1]:f(n+s)=f(n)+s△,0

2 基于Matlab 的插值法与曲线拟合数值计算方法研究

冲之等各家历法计算月行数时也采用了这种算法。随着天文学的发展和观测精度的提高, 天文学家不仅发现了月球运动的不均匀性, 而且也发现了太阳和五星视运动的不均匀性, 也就是说, 日月五星的视运动并非是时间的一次函数。为了编制更好的历法, 特别是为了精确计算合朔( 太阳与月亮同时出现) 和日食时刻, 何承天、祖冲之以前所长期采用的一次插值法, 误差太大, 已经不能满足这种要求, 于是中国天算家开始了新的探索。然而插值理论却是在17世纪微积分产生后才逐步发展起来,Newton 插值公式理论是当时的重要成果[1]。由于计算机的使用以及航空、造船、精密仪器的加工,插值法在理论和实践上都得到进一步发展,获得了广泛的应用。在计算机广泛使用的今天, 插值法跟MATLAB 等软件的程序结合起来, 发挥其更广泛的作用, 以至可以解决高达几百次甚至上千的插值拟和( 如果计算机允许的话) 。为此, 大量的数学家和软件编辑者投入到数值分析和数学软件的工作中, 使得插值法得到了空前的发展, 现在的Lagrange 插值, 逐次线性插值, Newton 插值, Hermite 插值, 分段低次插值, 还有三次样条插值等等, 就不胜枚举。

1.1.2 插值法的思想

已知如下一个关于xi 与f(xi)的观测数据表

表1.2 插值法思想观测数据表

求一个经验函数y=g(x),使

. g (x i ) =f (x i ), i =1, ……n 式(1-1)

插值的任务就是由已知的观测点(xi,yi)为物理量(未知量), 建立一个简单的、连续的解析模型g(x) ,以便能根据该模型推测该物理量在非观测点处的特性[2]。

第一章 绪论

3

y 201

图1.1 插值法思想 n x

1.2. 曲线拟合概述

1.2.1曲线拟合的背景

实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;

疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。

1.2.2曲线拟合的思想

曲线拟合的基本思想是根据已知数据表,如下表:

表1.3 曲线拟合数据观测表

求一个经验函数y=g(x),使得

∑(g (x ) -f (x )) i i

i =1n 2=min 式(1-2)

所求的的函数g(x)的拟合函数。而每个数据点分布在拟合曲线的两侧,拟合曲线不需要经过数据点。如下图:

4 基于Matlab 的插值法与曲线拟合数值计算方法研究

图1.2 曲线拟合思想

1.3本文研究内容

本文题目是基于MATLAB 的插值法与曲线拟合的数值计算方法研究。各章节内容分别下:

第一章,绪论,即研究学习了解插值法与曲线拟合相关研究背景以及数学思想。

第二章,插值法基本理论,即深入的学习研究了插值法,包括拉格朗日插值,牛 顿差值,样条插值等多种插值方法。

第三章,曲线拟合基本理论,即深入学习研究了曲线拟合,最主要的最小二乘法。以及最小二乘方程的解法。

第四章,基于MATLAB 的插值法仿真研究,即使用MATLAB 实现了通过拉格朗日插值法解决多个实际问题,包括了二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线并作图分析。

第五章,基于MATLAB 的曲线拟合仿真研究,即使用MATLAB 实现了通过多项式曲线拟合解决两个实际问题。 根据研究氮肥(N )的施肥量与土豆产量的影响所得数据曲线拟合出相关函数关系和铁在冶炼过程中含碳量与时间的关系分析并做图分析。

第六章,总结,即比较插值法与曲线拟合两类问题的特点与不同之处,总结全文研究要点。

第二章 插值法基本理论

5

第二章 插值法基本理论

2.1插值法基本定义

设函数y =f (x ) 在一个区间[a , b ]上连续,且在n+1个不同的点 a ≤x 0, x 1, , x n ≤b 上分别取值y 0, y 1, , y n ,在一个性质优良且便于计算的函数类φ 中,求一个简单函数p (x ) ,使得

P (x i )=y i (i =0, 1, n ) 式(2-1)

而在x ≠x i 上,作为f (x ) 的近似。称该区间为插值区间,点 为插值节点,称式(2-1)为 f (x ) 的插值条件,并称函数类φ为插值函数类,称 p (x ) 为函数在节点 x 0, x 1, , x n 处的插值函数。求插值函数 p(x) 的方法就称为插值法。插值函数类φ的取法不同,所求得的插值函数p(x)逼近f(x)的效果就不同它的选择取决于使用上的需要。常用的方法有代数多项式、三角多项式和有理函数等[3]。

当选用代数多项式作为插值函数时,那相应的插值问题就称为多项式插值。 在多项式插值中,最常见、最基本的问题是:求一次数不超过n 的代数多项式

P n (x )=a 0+a 1x + +a n x n 式(2-2)

使 P n (x i )=y i (i =0, 1, , , n ) 式(2-3)

其中 为实数。满足插值条件(2-3)的多项式(2-2),称为函数f(x) 在节点处的n 次插值值多项式。

2.1.1唯一定理

满足插值条件的、次数不超过n 的多项式是存在而且是唯一的。

2.1.2几何意义

n 次插值多项式 a , a , 的几何意义:过曲线y = f(x) 上的n+1个点

6 基于Matlab 的插值法与曲线拟合数值计算方法研究 (x i , y i )(i =0, 1, , n ) 作一条n 次代数曲线

2.1。

Y

x

) ,作为曲线y = f(x) 的近似,如图

图2.1 插值法几何意义

2.2 拉格朗日(Lagrange )插值

设函数y =f (x ) 在n +1个相异点x 0, x 1, x 2, ⋅⋅⋅, x n 上的函数值为y 0, y 1, y 2, ⋅⋅⋅, y n ,要求一个次数不得超过n 的代数多项式

P n (x ) =a 0+a 1x +a 2x 2+⋅⋅⋅+a n x n 式(2-4)

使得在节点x i 上有P n (x i ) =y i (i =0, 1, 2, ⋅⋅⋅, n ) 成立,称为n 次代数插值问题,P n (x ) 称为插值多项式.则可以证明n 次代数插值是唯一的。 事实上: 可以得到:

⎡n ⎛x -x i P n (x ) =∑⎢∏ j =0⎢i =0⎝x j -x i ⎣(i ≠j ) n ⎫⎤⎪⎥y j 式(2-5) ⎪⎥⎭⎦

当n =1时,有二点一次(线性)插值多项式:

P 1(x ) =x -x 0x -x 1y 0+y 1 式(2-6) x 0-x 1x 1-x 0

当n =2时,有三点二次(抛物线)插值多项式:

第二章 插值法基本理论

7

P 2(x ) =

(x -x 0)(x -x 2) (x -x 0)(x -x 1) (x -x 1)(x -x 2)

y 0+y 1+y 2式(2-7)

(x 0-x 1)(x 0-x 2) (x 1-x 0)(x 1-x 2) (x 2-x 0)(x 2-x 1)

2.3牛顿(Newton )插值

牛顿插值的基本思想:

由于y =f (x ) 关于二节点x 0, x 1的线性插值为:

p 1(x ) =f (x 0) +

f (x 1) -f (x 0) f (x 1) -f (x 0)

(x -x 0) =p 0(x 0) +(x -x 0) 式(2-8)

x 1-x 0x 1-x 0

假设满足插值条件f (x i ) =y i =p 2(x i ) (i =0, 1, 2) 的二次插值多项式的一般形式为

p 2(x ) =c 0+c 1(x -x 0) +c 2(x -x 0)(x -x 1) 式(2-9)

由插值条件可得:

⎧c 0=f (x 0) ⎪

⎨c 0+c 1(x 1-x 0) =f (x 1) 式(2-10)

⎪c +c (x -x ) +c (x -x )(x -x ) =f (x )

120220212⎩0

可以解出,得:

f (x 1) -f (x 0) ⎧c =f (x ), c =01⎪0

x 1-x 0

⎪⎪

f (x 2) -f (x 1) f (x 1) -f (x 0) 式(2-11) ⎨

-⎪x 2-x 1x 1-x 0

⎪c 2=⎪x 2-x 0⎩

所以:

p 2(x ) =c 0+c 1(x -x 0) +c 2(x -x 0)(x -x 1) =p 1(x ) +c 2(x -x 0)(x -x 1) 式(2-12) 类似的方法,可以得到三次插值多项式等,如果按这种思想则可以得到一般的牛顿插值公式[4]。

函数的差商及其性质:

对于给定的函数f (x ) ,用f (x 0, x 1, ⋅⋅⋅, x n ) 表示关于节点x 0, x 1, ⋅⋅⋅, x n 的n 阶差商,则有:

8 基于Matlab 的插值法与曲线拟合数值计算方法研究

一阶差商:f (x 0, x 1) =

f (x 1) -f (x 0) f (x 2) -f (x 1)

,f (x 1, x 2) =

x 1-x 0x 2-x 1

f (x 1, x 2) -f (x 0, x 1)

x 2-x 0

二阶差商:f (x 0, x 1, x 2) =

由此得:n 阶差商:f (x 0, x 1, ⋅⋅⋅, x n ) =差商有以下性质:

(1)差商的分加性:f (x 0, x 1, ⋅⋅⋅, x n ) =∑

k =0n

f (x 1, x 2, ⋅⋅⋅, x n ) -f (x 0, x 1, ⋅⋅⋅, x n -1)

x n -x 0

f (x k )

j =0(j ≠k )

∏(x

n

k

-x j )

(2)差商的对称性:在f (x 0, x 1, ⋅⋅⋅, x n ) 中任意调换x i , x j 的次序其值不会变。 牛顿插值法公式: 一次插值公式为:

p 1(x ) =f (x 0) +f (x 0, x 1)(x -x 0) 式(2-13)

二次插值公式为:

p 2(x ) =f (x 0) +f (x 0, x 1)(x -x 0) +f (x 0, x 1, x 2)(x -x 0)(x -x 1)

=p 1(x ) +f (x 0, x 1, x 2)(x -x 0)(x -x 1)

于是有一般的牛顿插值公式为:

p n (x ) =f (x 0) +f (x 0, x 1)(x -x 0) +f (x 0, x 1, x 2)(x -x 0)(x -x 1) +⋅⋅⋅

+f (x 0, x 1, ⋅⋅⋅, x n )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1) =p n -1(x ) +f (x 0, x 1, ⋅⋅⋅, x n )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1)

式(2-14)

式(2-15)

可以证明:其余项为:

R (x ) =f (x 0, x 1, ⋅⋅⋅, x n , x )(x -x 0)(x -x 1) ⋅⋅⋅(x -x n -1)(x -x n ) 式(2-16)

实际上,牛顿插值公式是拉格朗日插值公式的一种变形,二者是等价的。另外还有著名的埃尔米特(Hermite )插值等。

2.4样条函数插值方法

样条(spline ),在英语中是指富有弹性的细长木条。样条函数实质上是由分段多项式光滑连接成的函数,一般称之为多项式样条。由于样条函数的特殊性质,

第二章 插值法基本理论

9

决定了样条函数在实际中有着很多重要的应用。 样条函数的一般概念:

定义:设给定区间[a , b ]的一个分划∆:a =x 0

则称s (x ) 是关于分划△的一个k 次多项式样条函数,x 0, x 1, ⋅⋅⋅, x n 称为样条节点,

x 1, x 2, ⋅⋅⋅, x n -1称为内节点,x 0, x n 称为边界节点,这类样条函数的全体记作S P (∆, k ) ,

称为k 次样条函数空间。

若s (x ) ∈S P (∆, k ) ,则s (x ) 是关于分划△的k 次多项式样条函数。k 次多项式样条函数的一般形式为

s k (x ) =∑

i =0

k

αi x i

i !

+∑

j =1

n -1

βj

k !

(x -x j ) k + 式(2-17)

其中αi (i =0, 1, , k ) 和βj (j =1, 2, , n -1) 均为任意常数,而

k

⎧(x -x ) , x ≥x j ⎪j k

(x -x j ) +=⎨(j =1, 2, , n -1) 式(2-18)

⎪⎩0, x

在实际中最常用的是k =2和3的情况,即为二次样条函数和三次样条函数。 二次样条函数:对于[a , b ]上的分划∆:a =x 0

s 2(x ) =α0+α1x +

α2

2!

x +∑

2

j =1

n -1

βj

2!

(x -x j ) 2+∈S P (∆, 2) 式(2-19)

2

⎧⎪(x -x j ) , x ≥x j

(j =1, 2, n -1) 。 其中(x -x j ) =⎨

⎪⎩0, x

2+

三次样条函数:对于[a , b ]上的分划∆:a =x 0

s 3(x ) =α0+α1x +

α2

2!

x +

2

α3

3!

x +∑

3

j =1

n -1

βj

3!

(x -x j ) 3+∈S P (∆, 3) 式(2-20)

3

⎧⎪(x -x j ) , x ≥x j

(j =1, 2, n -1) 。 其中(x -x ) =⎨

⎪⎩0, x

3

j +

10 基于Matlab 的插值法与曲线拟合数值计算方法研究

2.4.1二次样条函数插值

s 2(x ) ∈S P (∆, 2) 中含有n +2个待定常数,故应需要n +2个插值条件,因此,二次样条插值问题可分为两类:

问题(1):已知插值节点x i 和相应的函数值y i (i =0, 1, 2, ⋅⋅⋅, n ) ,以及端点x 0 (或x n ) 处的导数值y ' 0 (或y ' n ) ,求s 2(x ) ∈S P (∆, 2) 使得

⎧s 2(x i ) =y i (i =0, 1, 2, ⋅⋅⋅, n ) ⎨ 式(2-21) ''''s (x ) =y (或s (x ) =y ) ⎩2002n n

问题(2):已知插值节点x i 和相应的导数值y i '(i =0, 1, 2, ⋅⋅⋅, n ) ,以及端点x 0 (或x n ) 处的函数值y 0 (或y n ) ,求s 2(x ) ∈S P (∆, 2) 使得

'(x i ) =y i '(i =0, 1, 2, ⋅⋅⋅, n ) ⎧s 2⎨ 式(2-22) s (x ) =y (或s (x ) =y ) 02n n ⎩20

事实上,可以证明这两类插值问题都是唯一可解的. 对于问题(1),由条件(2-21)

1⎧2

s (x ) =α+αx +αx 01020=y 0⎪20

2

⎪s (x ) =α+αx +1αx 2=y

111211⎪21

2⎨ j -1⎪1122

⎪s 2(x j ) =α0+α1x j +α2x j +∑βi (x j -x i ) =y j , j =2, 3, , n

22i =1

⎪⎪'⎩s '2(x 0) =α1+α2x 0=y 0

') T 为已知向引入记号X =(α0, α1, α2, β1, , βn -1) T 为未知向量,C =(y 0, y 1, , y n , y n

量,

⎡⎢1⎢⎢1⎢A =⎢1

⎢⎢ ⎢⎢1⎢⎢0⎣

x 0x 1x 2 x n 1

12

x 0212x 1212x 22 12x n 2x 0

1

(x 2-x 1) 22

1

(x n -x 1) 22

⎤⎥⎥⎥0

⎥⎥ ⎥⎥

⎥12

(x n -x n -1) ⎥

2⎥ 0⎥⎦

于是,问题转化为求方程组AX =C 的解X =(α0, α1, α2, β1, , βn -1) T 的问题,

第二章 插值法基本理论

11

即可得到二次样条函数的s 2(x ) 的表达式。 2.4.2三次样条函数插值

由于s 3(x ) ∈S P (∆, 3) 中含有n +3个待定系数,故应需要n +3个插值条件,因此可将三次样条插值问题分为三类:

问题(1):已知插值节点x j 和相应的函数值y j (j =0, 1, 2, ⋅⋅⋅, n ) ,以及两个端点x 0,x n 处的导数值y ' 0,y ' n ,求s 3(x ) ∈S P (∆, 3) 使满足条件

⎧⎪s 3(x j ) =y j (j =0, 1, ⋅⋅⋅, n )

式(2-23) ⎨

''s (x ) =y (j =0, n ) ⎪j ⎩3j

问题(2):已知插值节点

x j

和相应函数值

y j (j =0, 1, 2, ⋅⋅⋅, n )

,以及两端点x 0,x n 处

'',y n '',求s 3(x ) ∈S P (∆, 3) 使满足条件 的二阶导数值y 0

⎧⎪s 3(x j ) =y j (j =0, 1, ⋅⋅⋅, n )

式(2-24) ⎨

''''s (x ) =y (j =0, n ) ⎪j ⎩3j

问题(3):类似地,求s 3(x ) ∈S P (∆, 3) 使满足条件

⎧⎪s 3(x j ) =y j (j =0, 1, , n ) ⎨(k ) 式(2-25) (k )

⎪⎩s 3(x n -0) =s 3(x 0+0)(k =0, 1, 2)

这三类插值问题的条件都是n +3个,可以证明其解都是唯一的[5]。

一般的求解方法可以仿照二次样条的情况处理方法,在这里给出一种更简单的方法.仅依问题(1)为例,问题(2)和问题(3)的情况类似处理。

由于在s 3(x ) ∈S P (∆, 3) 区间[a , b ]上是一个分段光滑,且具有二阶连续导数的三

''(x j )(j =0, 1, , , n ) 为''(x ) 是线性函数,记d j =s 3次多项式,则在子区间[x j , x j +1]上s 3待定常数.由拉格朗日插值公式可得

''(x ) =d j s 3

d j +1-d j

h j

x j +1-x h j

+d j +1

x -x j h j

, h j =x j +1-x j , j =0, 1, , n

显然s 3'''(x ) =在[x j , x j +1]上为常数.于是在[x j , x j +1]上有

d j 2

d j +1-d j

6h j

'(x j )(x -x j ) +s 3(x ) =y j +s 3(x -x j ) 2+

(x -x j ) 3 式(2-26)

12 基于Matlab 的插值法与曲线拟合数值计算方法研究

则当x =x j +1时,由式(2-26)和问题(1)的条件得

'(x j ) h j +s 3(x j +1) =y j +s 3

d j 2h +

2

j

d j +1-d j

6

h 2j =y j +1

故可解得

'(x j ) =s 3

y j +1-y j

h j

-h j 6

(2d j +d j +1) 式(2-27)

将式(2-27)代入式(2-26)得

⎡y j +1-y j h j ⎤d j

s 3(x ) =y j +⎢-(2d j +d j +1) ⎥(x -x j ) +(x -x j ) 2

62⎢⎥⎣h j ⎦ 式(2-28)

d j +1-d j +(x -x j ) 3, x ∈[x j , x j +1](j =0, 1, , n -1)

6h j

在[x j -1, x j ]上同样的有

⎡y j -y j -1h j -1⎤d j -1

s 3(x ) =y j -1+⎢-(2d j -1+d j ) ⎥(x -x j -1) +(x -x j -1) 2

62⎢⎥⎣h j -1⎦ 式(2-29)

d j -d j -1+(x -x j -1) 3, x ∈[x j -1, x j ](j =1, 2, , n ) 6h j -1

根据s 3(x ) 的一阶导数连续性,由式(2-29)得

'(x j -0) = s 3

y j -y j -1

h j -1

+h j -16

'(x j ) (2d j +d j -1) =s 3

结合式(2-27)整理得

h j -1h j +h j -1

d j -1+2d j +

h j h j +h j -1

d j +1

⎛y j +1-y j y j -y j -1⎫6 ⎪ =-

h j +h j -1⎝h j h j -1⎪⎭

⎛y j +1-y j y j -y j -1⎫h j -16 ⎪,1-a j =, c j =-引入记号a j =.则

⎪h j +h j -1h j +h j -1⎝h j h j -1⎭h j +h j -1

h j

(1-a j ) d j -1+2d j +a j d j +1=c j , (j =1, 2, , n -1) 式(2-30)

'(x 0) =y 0', s 3'(x n ) =y n '得 再由边界条件:s 3

第二章 插值法基本理论

13

⎧⎫6⎛y 1-y 0

⎪'2d +d =-y ⎪010⎪ h h 0⎝0⎪⎭

式(2-31) ⎨

y n -y n -1⎫⎪d +2d =6⎛ ⎪'y n -n ⎪⎪n -1

h h n -1n -1⎝⎭⎩

联立式(2-30),(2-31)得方程组

A ⋅D =C

其中

⎡6⎛y 1-y 0⎡d 0⎤⎫⎤1⎡2⎤ ⎪'-y ⎢0⎪⎥⎢d ⎥ ⎢1-a 2⎥a 0⎭⎥⎢h 0⎝h 0⎢1⎥⎢0⎥

c 1⎢⎥⎢ ⎥⎢⎥

⎥式(2-32) A =⎢⎥,C =⎢⎥,D =⎢ ⎢⎥1-a n -22a n -2⎢⎥⎢⎥⎢⎥c n -1

⎢d n -1⎥⎢1-a n -12a n -1⎥⎢⎥⎛⎫y -y ⎢⎥6⎢⎥n n -1⎢⎥ ⎪'-y n 12⎥⎢⎢⎣d n ⎥⎦⎣⎦ ⎪⎢h n -1⎭⎥⎣h n -1⎝⎦

由方程组(2.32)可以唯一解出d j (j =0, 1, , n ) ,代入式(2-28)就可以得三次样条函数s 3(x ) 的表达式.

除此以外还有很多其它的插值方法例如分段线性插值、二次样条插值、三次样条插值等。

2.5高次插值的龙格现象

插值多项式余项公式说明插值节点越多,一般说来误差越小,函数逼近越好,但这也不是绝对的,因为余项的大小既与插值节点的个数有关,也与函数f(x)的高阶导数有关。换句话说,适当地提高插值多项式的次数,有可能提高计算结果的准确程度,但并非插值多项式的次数越高越好。当插值节点增多时,不能保证非节点处的插值精度得到改善,有时反而误差更大。 考察函数 f (x ) =

1P 10(x ) 的图像, 当n P (x ) , -5≤x ≤5 右图给出了和5

1+x 2

增大时, P n (x ) 在两端会发出激烈的振荡, 这就是所谓龙格现象。该现象表明, 在大范围内使用高次插值, 逼近的效果往往是不理想的 。

14 基于Matlab 的插值法与曲线拟合数值计算方法研究

图2.2 2.6近f(x)。

第三章 曲线拟合基本理论

15

第三章 曲线拟合基本理论

插值方法要求插值曲线严格地通过所给的每一个数据点(样点),数据本身存在的不可避免的误差会反映到插值结果中。如果数据误差很大的话,用插值方法显然就不恰当了,可以用曲线拟合方法。

曲线拟合法: 设法构造一条曲线反映所给数据点的总趋势(但不一定过点),以消除其局部的波动 。

3.1最小二乘拟合法

如果已知函数f(x)在若干点xi(i=1,2,…,n)处的值yi, 便可根据插值原理来建立插值多项式作为f(x)的近似。但是在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确,这些函数值很多是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保留所有这一切测试误差。那么当个别数据的误差较大时, 插值效果显然是不会理想的。此外, 由实验或观测提供的数据个数往往很多, 如果用插值法, 势必得到次数较高的插值多项式,这样计算起来会很烦琐。

换句话说:求一条曲线, 使数据点均在离此曲线的上方或下方不远处, 所求的曲线称为拟合曲线, 它既能反映数据的总体分布, 又不至于出现局部较大的波动, 更能反映被逼近函数的特性, 使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小, 这就是曲线拟合[6]。

与函数插值问题不同, 曲线拟合不要求曲线通过所有已知点, 而是要求得到的近似函数能反映数据的基本关系。在某种意义上, 曲线拟合更有实用价值。其中令

δi =y (x i ) -y i 在回归分析中称为残差。一般使用22=∑δ=∑(y (x i ) -y i ) 2作为

2

i i =0

i =0

m m

衡量y (x ) 跟数据点(x i , y i ) 偏离程度大小的度量标准,称为平方误差。在对给出的实验(或观测) 数据作曲线拟合时, 怎样才算拟合得最好呢?一般希望各实验(或观测) 数据与拟合曲线的偏差的平方和最小, 这就是最小二乘原理。

16 基于Matlab 的插值法与曲线拟合数值计算方法研究

3.2最小二乘拟合函数的求解

要使最小二乘问题的目标函数(5.17)达到最小,则由多元函数取得极值的必要条件得

∂S

=0(k =0, 1, 2, , m ) 式(3-1) ∂a k

⎡m ⎤w a φ(x ) -y φk (x i ) =0(k =0, 1, 2, ⋅⋅⋅⋅, m ) 式(3-2) ∑i ⎢∑k k i i ⎥i =1⎣k =0⎦

亦即

n

⎡n ⎤

∑⎢∑w i φj (x i ) φk (x i ) ⎥a j =∑w i y i φk (x i ) (k =0, 1, 2, ⋅⋅⋅⋅, m ) 式(3-3)

j =0⎣i =1i =0⎦

m

n

是未知量为a 0, a 1, a 2, ⋅⋅⋅, a m 的线性方程组,称(3-3)式为正规方程组。

实际中可适当选择函数系{φk (x ) }k =0,由正规方程组解出a 0, a 1, a 2, ⋅⋅⋅, a m ,于是

m

可得最小二乘拟合函数φ(x ) =∑a k φk (x ) 。

k =0

m

第四章 基于MA TLAB 的插值法仿真研究

17

第四章 基于MATLAB 的插值法仿真研究

4.1算法及流程图

我们可以从前文得知,拉格朗日插值多项式为:

⎡n ⎛x -x

i

P n (x ) =∑⎢∏

j =0⎢i =0⎝x j -x i ⎣(i ≠j )

n

⎫⎤

⎪⎥y j 式(4-1) ⎪⎥⎭⎦

MATLAB 中没有提供现成的函数用于实现拉格朗日插值,我们可以自己编写lang.m 函数来实现拉格朗日插值。如图4.1,我们画出lang 函数的实现流程图。

从图中我们可以看到,函数刚开始需要校验x ,y 两向量长度是否相同,然后求出拉格朗日基函数,最后经过循环求出插值多项式并求出x0点处对应的函数值。

4.2代码解析

结合以上流程图,我们写出了以下MATLAB 程序,实现了拉格朗日插值法[7]。通过多次for 循环将基函数运算,求出拉格朗日插值多项式。

function s=Lagrangenew(x,y,x0)

%lagrange插值,x ,y 为已知的插值点及其函数值 %x0为要求的插值点的x 值 nx=length(x); ny=length(y); if nx~=ny

warning(' 矢量x 与y 的长度应该相等' ) return end

m=length(x0);

%按照公式,对要求的插值点矢量x0的每个元素进行计算 for i=1:m

t=0.0;

18

for j=1:nx u=1.0; for k=1:nx

基于Matlab 的插值法与曲线拟合数值计算方法研究

if k~=j

u=u*(x0(i)-x(k))/(x(j)-x(k)); end end t=t+u*y(j); end s(m)=t; end Return

图4.1 插值法流程图

第四章 基于MA TLAB 的插值法仿真研究

19

4.3插值法应用

在研究过程,我做了很多的尝试,尝试用插值法解决实际问题,用以体现插值法的高效准确性,本文中将提到我的三次尝试与试验。首先是二氧化硫传感器中二氧化硫浓度与传感电压之间的关系,其次是最近十年来93#汽油价格变化问题,最后就是中国石油股票(601857)2013年各月月末收盘价变化。 4.3.1二氧化硫浓度与电压

首先,我们通过实验室获取了一组2SH12二氧化硫传感器数据,我们打算根据这十组数据来观察插值法是否适用于这些采集自实验室的数据。 如下:

表4.1 2SH12二氧化硫传感器数据V/PPM,R0=2k,电压信号单位为V.

当我们代入五组以上数据到我们通过MATLAB 实现的拉格朗日插值法中时,我们看一下结果:

当浓度为250ppm 时,电压值为2.025V ,如图:

图4.2 250ppm时5点插值法

20 基于Matlab 的插值法与曲线拟合数值计算方法研究

当浓度为400ppm 时,传感器电压值为2.588. 如图:

图4.3 400ppm时5点插值法

然后,我们增加数据带入个数,即增加插值点个数。同时,我们将浓度值为 100ppm 时的电压值设置为未知,根据插值法计算当时的电压值得v=1.5856。程序运行结果如下:

图4.4 100ppm时10点插值

当把浓度值为250ppm 时,计算得传感器电压值为2.0951V 。

第四章 基于MA TLAB 的插值法仿真研究

21

图4.5 250ppm浓度10点插值

继续实验,当浓度值为400ppm 时,传感器电压值为2.3156V

.

图4.6 400ppm浓度时10点插值

根据以上五次试验,我们可以发现,插值法求出的电压值基本符合实际变化趋势,且误差较小。当二氧化硫传感器的浓度为已知数值时,我们就可以大致求出该浓度下传感器的电压值。同时我们可以看出,随着插值点的增加,误差会逐步减小。

4.3.2 93#汽油价格计算

查阅中国网上历年来的资料,我们了解到了2004年到2013年历年来我国93#汽油的平均价格[8],如下,我们想要看看这些来自与市场的数据是否可以使用插值法来求解。

22 基于Matlab 的插值法与曲线拟合数值计算方法研究

表4.2 93#汽油历年油价数据

我们将上述数据带入到我们我们通过MATLAB 实现的拉格朗日插值法程序当中,以便经行我们的实验。

当把2009年的油价作为未知数据时,我们可以通过程序计算得到此时油价为6.321,同时得到运行结果:

图4.7 2009年油价插值

随后我们进行了多组实验,得到如下实验结果:

表4.3 历年油价真实值与计算值比较

我们可以从以上实验数据中明显发现,2004到2013年以来93#

油价的计算值与实际值之间有很大的误差,经过一系列分析查证,我们了解到,插值法所描绘的图像是经过每一点的折线,所以每个点的数据误差都会对对计算造成很大影响,而本次实验的数据采集本身具有局限性同时数据变动也较大,所以插值法不适于用来解决波动较大,误差较大的实际问题。

第四章 基于MA TLAB 的插值法仿真研究

23

4.3.3中国石油股票月K 线分析

我们在东方财经网上找到了中石油股票(601857)2013年月K 线,并读取了

各月月末收盘价数据,如下:

图4.8 中国石油2013年月k 线 表4.4 中石油股票2013个月月末收盘价

我们想要看看拉格朗日插值法是否可以计算出2013年某个特定月份的月末收盘价,前提是已知了当月其他月份的相关数据。于是我们进行了如下实验: 将以上数据带入到程序中,当已知其他月份求8月份收盘价时,我们得出结果:当x=8时,收盘价y=7.903.如下图:

图4.9 8月份油价插值

24 基于Matlab 的插值法与曲线拟合数值计算方法研究

当已知其他月份求8月份收盘价时,即x=9时,y=7.839如图:

图4.10 9月份油价插值

我们可以看得出来,中国石油这个股票在2013年变化较为平缓,我们得出的计算结果都非常接近真实值,误差较小。

4.4插值法应用小结

根据以上提到的三个实验,我们可以总结出以下结论,插值法更适用于变化平缓的数值问题的解决,各插值点数据的误差会对计算结果造成很大影响,插值点多一些会使计算结果的误差小一些。

第五章 基于MA TLAB 的曲线拟合仿真研究

25

第五章 基于MATLAB 的曲线拟合仿真研究

5.1基于MATLAB 实现曲线拟合

MATLAB 软件提供了基本的曲线拟合函数的命令即曲线拟合工具箱(“Curve Fitting toolbox)。 其中主要包括:

多项式函数拟合:a=polyfit(xdata,ydata,n)

其中n 表示多项式的最高阶数,xdata ,ydata 为将要拟合的数据,它是用 数组的方式输入。输出参数a 为拟合多项式的系数。 多项式在x 处的值y 可用下面程序计算: y=polyval(a,x) 一般的曲线拟合计算方式:

p=curvefit(‘Fun’,p0,xdata,ydata) 其中Fun 表示函数Fun(p,data)的M 函数文件,p0表示函数的初值。

curvefit()命令的求解问题形式是: 若要求解点x 处的函数值可用程序f=Fun(p,x)计算[9]。

5.2曲线拟合应用

在实验过程中,我们发现实际工作中对象间的关系不是明显可得的;通过对象变化的测量数据分析对象间的关系;测量数据通常是离散的,不能充分反映对象间的关系;需要将离散测量数据连续化[10];所以我们运用曲线拟合法来解决下面问题。本文中介绍我在研究过程中的两次实验,分别是氮肥施肥量与土豆产量关系、铁在冶炼过程中含碳量与时间的关系。通过这两次试验分析曲线拟合的特点。

5.2.1氮肥的施肥量与土豆产量之间的关系分析

我们根据某研究所为研究氮肥(N )的施肥量和土豆产量之间的关系做的10次实验,所得的实验数据,利用曲线拟合法分析氮肥的施肥量与土豆产量之间的

26 基于Matlab 的插值法与曲线拟合数值计算方法研究

关系,计算出函数关系式并绘图。

表5.1 历年油价真实值与计算值比较

施肥问题目标是要得出氮肥的施肥量与土豆产量之间的连续关系;反映两者关系的只有10组离散实验数据,为了通过曲线拟合寻找函数关系,我们事先将所有数据点描出,发现粗略符合二次函数图像,所以我们经行了二次拟合。

图5.1 施肥关系数据描述

将以上十组数据代入到我们基于MATLAB 编写的曲线拟合程序中,得到如下运行结果:

利用曲线拟合法求得拟合二次函数 y=14.7416+0.1971x-0.0003x2

画出了二次函数的图像如下所示:

第五章 基于MA TLAB 的曲线拟合仿真研究

27

图5.2 施肥关系拟合曲线

我们可以从实验所得图像中看到,曲线拟合时不需要严格的经过某个数据点,而是绘制出了一条平滑的曲线即可反应问题的基本关系。根据图像我们得出每公顷施肥290吨是,土豆产量达到最高为43.63吨左右。

5.2.2铁的冶炼过程中含碳量和时间关系分析

查阅资料,我们找到一组关于铁在冶炼过程中时间与检测到的含碳量的数据,希望利用曲线拟合来分析这组数据从而得到相关函数关系。

表5.2碳含量与冶炼时间关系表

我们将以上数据点先描绘出来,如下:

图5.3 冶炼时间与碳含量数据描述

28 基于Matlab 的插值法与曲线拟合数值计算方法研究

我们首先进行了一次拟合,得到了如下一次拟合多项式:

Y=0.082*x+0.1973

图像如下:

图5.4 冶炼时间与碳含量关系一次拟合

随后,我们又进行了二次拟合得出以下结果:

二次拟合多项式:y=0.1193+0.2239*x-0.0029*x^2

函数图像如下:

图5.5 冶炼时间与碳含量关系二次插值曲线

从实验结果和实际的离散点数据比对,该拟合曲线的拟合性还是很好的。相比一次拟合精确度有了大幅度提升。我们可以得出结论,适当的多项式可以让拟合结果更逼近真实值。

第五章 基于MA TLAB 的曲线拟合仿真研究

29

5.3曲线拟合应用小结

由以上两组实验我们会发现,曲线拟合不要求曲线通过所有已知点,而是要求得到近似的函数关系来反应数据的基本关系。这样的话,某个数据点的误差不会对实验结果成太大影响。其次我们发现适当的增加拟合多项式次数可以使拟合结果更逼近真实值。

30 基于Matlab 的插值法与曲线拟合数值计算方法研究

第六章 总结

31

第六章 总结

6.1插值法与曲线拟合比较

插值和拟合都是函数逼近或者数值逼近的重要组成部分。在科学实验和生产实践中,往往会遇到这样一种情况,即节点上的函数值并不是很精确的,这些函 数值是由实验或观测得到的数据,不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点(xi,yi),就会使曲线保留着一切测试误差。当个别数据的误差较大时, 插值效果显然是不理想的。此外, 由实验或观测提供的数据个数往往很多, 如果用插值法, 势必得到次数较高的插值多项式,这样计算起来很烦琐。

另一方面:求一条曲线, 使数据点均在离此曲线的上方或下方不远处, 所求的曲线称为拟合曲线, 它既能反映数据的总体分布, 又不至于出现局部较大的波动, 更能反映被逼近函数的特性, 使求得的逼近函数与已知函数从总体上来说其偏差按某种方法度量达到最小, 这就是曲线拟合与函数插值问题不同, 曲线拟合不要求曲线通过所有已知点, 而是要求得到的近似函数能反映数据的基本关系。在某种意义上, 曲线拟合更有实用价值[11]。

从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(或几个分片光滑的) 连续曲面来穿过这些点。

6.2全文总结

插值法和曲线拟合是两种不同的方法,有其各自的特点。对于插值法,设

即∑(y (x i ) -y i ) 2等P n (x ) =a 0+a 1x +a 2x 2+⋅⋅⋅+a n x n 再给定节点xi 处的值等于yi ,

i =0m

于零,当然可以使得误差最小,但是,如果要使得在所有给定的值相等, p(x)必然要是n 次多项式,那么在n 相对较大的时候得到的多项式次数较高,对我们计算造成一定的困难,不能达到我们找一个简单函数的目的;若确定多项式的次数为m 而在已知数据点中选出个点来进行计算,这样可以使得得到的多项式函数相对简单但是我们要怎么去选出m+1个点呢?选出的点不同,得到的多项式必然也

32 基于Matlab 的插值法与曲线拟合数值计算方法研究

不相同,那么同一组数据点得到的不同多项式中那个比较好呢?这又需要我们去比较分析。最小二乘拟合中函数的选取与给定点的分布有关,函数形式比较多样,一般用得比较多的是多项式函数和指数函数,而指数函数是因为它可以通过对数变换变成多项式函数,有利于计算。更一般的最小二乘拟合法考虑的是加权平方和,即,∑(y (x i ) -y i ) 2使得其达到最小。利用最小二乘法可以使用所有节点做出

i =0m

任意次数的逼近函数。插值法与曲线拟合的研究应用涉及方方面面,横跨几个学科。需要研究的东西还有很多。下面是本文所做的主要工作:

首先,查阅文献了解当前插值法与曲线拟合研究背景了解插值法在古代历史历法计算中的应用,并分析了两种方法运算的基本思想。

其次,重点学习了解插值法基本理论,分别分析了拉格朗日插值,牛顿插值,样条插值等主要的插值方法。

再次,重点学习了曲线拟合的基本理论,分析了最小二乘法的以及最小二乘拟合函数的解法分析。

从次,进行了基于MATLAB 的插值法应用仿真研究,通过二氧化硫与传感器电压问题,最近十年93#汽油价格变化问题以及中石油股票月K 线分析这三组实验分析得出插值法更适用于变化平缓的数值问题的解决,各插值点数据的误差会对计算结果造成很大影响,插值点多一些会使计算结果的误差小一些。

然后,进行了基于MATLAB 的曲线拟合应用仿真研究,通过研究氮肥(N )的施肥量与土豆产量关系和铁在冶炼过程中含碳量与时间的关系两组实验分析曲线拟合应用的特点与不足。曲线拟合不要求曲线通过所有已知点,而是要求得到近似的函数关系来反应数据的基本关系。这样的话,某个数据点的误差不会对实验结果成太大影响。其次我们发现适当的增加拟合多项式次数可以使拟合结果更逼近真实值。

最后,总结全文比较插值法与曲线拟合的特点与不同。插值法与曲线拟合是两种不同的方法,都有各自的特点,没有孰好孰坏之分。关键是看对于具体问题的应用,对于不同的问题找到适合本身的方法就是最好的方法。

33

34 基于Matlab 的插值法与曲线拟合数值计算方法研究

参考文献

35

参考文献

[1] 王鹏岭,关春燕.浅议插值逼近方法及其发展[J].中国科技纵横,2010(20).

[2] 白洁静.关于插值法与最小二乘拟合的讨论[J].,2009(1).

[3] 孙志忠,吴宏伟,闻震初.计算方法与实习[M].第5版.南京:东南大学

出版社.

[4] By A.C.R.NEWBERY .Interpolation &Curve-Fitting .MATHEMATICS OF

CHAMUPATION.VOLUME,24.NUMBER,112三角插值与曲线拟合[J]

[5] 马昌凤.现代数值分析(MATLAB 版)[M].北京:国防工业出版社,2013.

[6] 王斌.基于MATLAB 的数值计算_插值及曲线拟合[J].阴山学刊,2006,20.

[7] 黄光东,管建和,李响.基于Matlab 平台的插值法技术实现与应用[J].

[8] 张洪波.插值法应用的实例分析[J].华北科技学院学报,2010,7(3).

[9] 罗汉成,刘小山.曲线拟合法的Matlab 实现[J].

[10] 张德丰.MATLAB 实用数值分析[M].北京:清华大学出版社,2012.

[11] 韩艳丽,李凤萍.插值与曲线拟合[J].河南理工大学


相关文章

  • 第四版应用回归分析课后习题第八章
  • 第8章 非线性回归 思考与练习参考答案 8.1 在非线性回归线性化时,对因变量作变换应注意什么问题? 答:在对非线性回归模型线性化时,对因变量作变换时不仅要注意回归函数的形式, 还要注意误差项的形式.如: αβε y =AK L e , ( ...查看


  • 神经网络在数据拟合方面的应用
  • 神经网络在数据拟合方面的应用 摘要 本文将讲述人工神经网络及其数据拟合中的应用.人工神经网络是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络.它在模式识别.智能机器人.自动控制.预测估计.生物.医学 ...查看


  • 方差分析 线性回归
  • 1 线性回归 1.1 原理分析 要研究最大积雪深度x 与灌溉面积y 之间的关系,测试得到近10年的数据如下表: 使用线性回归的方法可以估计x 与y 之间的线性关系. 线性回归方程式: 对应的估计方程式为 线性回归完成的任务是,依据观测数据集 ...查看


  • 什么叫拟合?什么叫插值?二者的区别是什么?
  • 什么叫拟合?什么叫插值?二者的区别是什么? 插值和拟合都是函数逼近或者数值逼近的重要组成部分 他们的共同点都是通过已知一些离散点集M上的约束,求取一个定义 在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律的 目的,即通过&qu ...查看


  • 关于相关系数作拟合优度判据的研究
  • 2加1年 第22卷 9月第3期 郑州工业大学学报 Journalof ZhengzhouUniversily of DepVol 22 2001 No.3 Technology 文章编号:1007-649212001)03-0072-03 ...查看


  • 实验8多元线性回归与非线性回归
  • 实验 8 多元线性回归分析与非线性回归分析 多元线性回归分析研究多个变量的数量伴随关系,内容主要包括模型的假定与检验.参数的估计与检验.回归诊断与预测.很多非线性回归问题都可以转化为线性回归问题处理,如多项式回归.指数回归.对数回归.幂函数 ...查看


  • 基于一元线性回归数学模型的简单应用方法
  • 基于一元线性回归数学模型的简单应用方法 刘亚阳 (天津医科大学生物医学工程学院09级生医二班,天津 300070) 摘要:人们经常用已知系统实测数据对数据进行拟合,并找出最佳拟合直线,对数据进行更为精准的估测.回归分析方法是寻求统计规律的重 ...查看


  • 曲线拟合方法
  • 今天帮同学做了一个非线性函数的曲线拟合,以前没做过,所以是摸着石头过河.费了一下午时间,终于把曲线拟合出来了,顺道也学习了使用Matlab进行曲线拟合的方法,把学习所得记录下来,和大家共享. 一. 单一变量的曲线逼近 Matlab有一个功能 ...查看


  • 用EXCEL进行线性回归分析及测量不确定度的计算
  • 第22卷, 第6期2005年11月 光 谱 实 验 室 Ch inese J ou rna l of S p ectroscopy L abora tory V o l . 22, N o . 6N ovem ber , 2005 用EXC ...查看


  • Holt指数平滑预测模型研究
  • Holt 指数平滑预测模型研究 (万千惠,贾帅,卢伟) (重庆邮电大学重庆市移动通信技术重点实验室重庆400065) 摘要:霍尔特指数平滑法是一种高级的线性指数平滑方法,该方法的优点是可以用不同的平滑参数对原序列的两种因素进行平滑,具有很大 ...查看


热门内容