多项式与插值
第四章-多项式与插值

a0 a1 x0 a0 a1 x1
an x0n an x1n
y0 y1
a0 a1 xn an xnn yn
方程组系数矩阵取行列式
1 x0 x0n
| A | 1 x1 x1n ( xi x j ) 0
ni j0
1 xn xnn
故方程组有唯一解. 从而插值多项式P(x)存在而且是唯一旳.
yi = interp1(x,y,xi,’ linear’ )
线性插值(缺省)
yi = interp1(x,y,xi,’ spline’ )
三次样条
yi = interp1(x,y,xi,’ cubic’ )
三次插值
例3 已知数据表如下,分别求 y=0.9,0.7,0.6,0.5
处 x 旳值。
x
y
注:多项式求值还有一种函数是polyvalm,其调用 格式与polyval相同,但含义不同。polyvalm函数要
求x为方阵,它以方阵为自变量求多项式旳值。
3. 多项式旳四则运算 (1)多项式旳加减法
function p3 = poly_add(p1,p2)
n1=length(p1); n2 = length(p2);
yp=zeros(size(xp));
a(:,j)=a(:,j+1).*x;
for k=1:n+1
end
பைடு நூலகம்
yp=yp + coeff(k)*xp.^(n+1-k);
coeff=a\y;
end
plot(xp,yp, x,y, ' ro')
三、Lagrange插值多项式
1.插值基函数
定义:若n 1个n次多项式 l k (x) (k 1, 2,..., n 1)
高中数学中的插值与多项式逼近

高中数学中的插值与多项式逼近在高中数学中,插值和多项式逼近是两个重要的概念和技巧。
它们在数学和工程领域中具有广泛的应用,可以用来解决实际问题,提高计算精度和效率。
本文将对插值和多项式逼近进行介绍和探讨。
一、插值的概念和应用1. 插值的概念插值是指通过已知数据点构造一个函数,使得这个函数在已知数据点上与已知函数或数据完全一致。
插值的目的是为了通过已知的离散数据点来估计未知的数据点,从而实现对数据的预测和补充。
2. 插值的应用插值在实际应用中非常广泛,例如地理信息系统中的地图绘制、图像处理中的图像重建、金融领域中的股票价格预测等。
通过插值方法,可以根据已知数据点的特征和规律,推断出未知数据点的值,从而提供更准确的预测和分析。
二、插值方法1. 拉格朗日插值法拉格朗日插值法是一种常用的插值方法,它通过构造一个多项式函数来逼近已知数据点。
这个多项式函数通过已知数据点的横纵坐标来确定,从而实现对未知数据点的估计。
2. 牛顿插值法牛顿插值法是另一种常用的插值方法,它利用差商的概念来构造一个多项式函数。
差商是指已知数据点之间的差值与对应函数值之间的比值,通过差商的递归计算,可以得到一个多项式函数,从而实现对未知数据点的估计。
三、多项式逼近的概念和方法1. 多项式逼近的概念多项式逼近是指通过一个多项式函数来逼近已知函数或数据,使得这个多项式函数在已知数据点上与已知函数或数据最接近。
多项式逼近的目的是为了简化计算和分析,提高计算效率和精度。
2. 最小二乘法最小二乘法是一种常用的多项式逼近方法,它通过最小化已知数据点与多项式函数之间的误差平方和,来确定最优的多项式函数。
最小二乘法可以用来解决数据拟合、曲线拟合等问题,广泛应用于统计学、信号处理等领域。
四、插值与多项式逼近的比较1. 精度比较插值方法可以通过已知数据点完全重构已知函数或数据,因此在已知数据点上的精度非常高。
而多项式逼近方法则是通过一个多项式函数来逼近已知函数或数据,因此在已知数据点上的精度可能会有一定的误差。
各种插值法的对比研究

各种插值法的对比研究插值法是指通过已知数据点来估计两个数据点之间的未知数值。
在实际生活和科学研究中,经常会遇到需要插值的情况,例如气象预测、金融分析、图像处理等。
本文将对比介绍几种常见的插值方法,包括线性插值、多项式插值、样条插值和逆距离加权插值。
1.线性插值:线性插值是最简单的插值方法,假设两个数据点之间的值变化是线性的。
根据已知数据点的坐标和对应的值,通过线性方程推断两个数据点之间的值。
优点是计算简单快速,但缺点是对数据变化较快的情况下估计效果较差。
2.多项式插值:多项式插值假设两个数据点之间的值变化是一个多项式函数。
通过已知数据点的坐标和对应的值,使用多项式拟合方法求解多项式函数的系数,再根据该多项式求解两个数据点之间的值。
多项式插值可以准确拟合已知数据点,但在插值点较多时容易出现振荡现象,且对数据点分布敏感。
3.样条插值:样条插值是一种平滑的插值方法,通过构建分段连续的多项式函数来逼近整个数据集。
根据已知数据点的坐标和对应的值,通过求解一组多项式函数的系数,使得在相邻区间之间函数值连续,导数连续。
样条插值可以减少振荡现象,对于插值点密集的情况能更好地逼近原始数据。
4.逆距离加权插值:逆距离加权插值是一种基于距离的加权插值方法,根据已知数据点与插值点之间的距离,对每个已知数据点进行加权平均得到插值点的值。
该方法认为距离较近的数据点对插值结果的影响更大。
逆距离加权插值简单易用,对数据点的分布不敏感,但对于距离较远的数据点容易受到较大的干扰。
在实际应用中,选择合适的插值方法需要根据数据的特点和要求来决定。
若数据变化较简单、平滑,可以选择线性插值或多项式插值;若数据变化复杂,存在振荡现象,可以选择样条插值;若数据点分布较稀疏,可以选择逆距离加权插值。
此外,还有一些其他的插值方法,如Kriging插值、径向基函数插值等,它们根据不同的假设和模型进行插值,具有一定的特点和适用范围。
综上所述,对于选择合适的插值方法,需要根据具体问题和数据特点来综合考虑,结合不同方法的优缺点进行比较研究,以得到更准确和可靠的插值结果。
几种常用的插值方法

几种常用的插值方法常用的插值方法包括线性插值、多项式插值、样条插值和径向基函数插值等,下面将依次介绍这些方法。
1.线性插值:线性插值是最简单的插值方法之一,它假设函数在两个已知点之间的变化是线性的。
对于给定的两个点(x0,y0)和(x1,y1),线性插值公式为:y=y0+(x-x0)*(y1-y0)/(x1-x0)其中,y是需要插值的点对应的函数值,x是插值点的横坐标。
2.多项式插值:多项式插值方法通过在给定的一组点上构建一个多项式函数来进行插值。
常用的多项式插值方法包括拉格朗日插值和牛顿插值。
- 拉格朗日插值通过构建一个n次多项式来插值n+1个给定的点。
具体来说,对于给定的n+1个点(x0, y0), (x1, y1), ..., (xn, yn),拉格朗日插值公式为:y = Σ(yk * lk(x))其中,lk(x)是拉格朗日基函数,计算公式为:lk(x) = Π((x - xj) / (xi - xj)),(j ≠ i)- 牛顿插值通过构建一个n次插值多项式来插值n+1个给定的点。
具体来说,对于给定的n+1个点(x0, y0), (x1, y1), ..., (xn, yn),牛顿插值公式为:y = Σ(Π(x - xj) / Π(xi - xj) * finDiff(yj))其中,finDiff(yj)是每个节点的差商,计算公式为:finDiff(yj) = (ΣΠ(xj - xi) * yj) / ΣΠ(xi - xj),(i ≠ j) 3.样条插值:样条插值方法通过使用分段函数来逼近给定的一组点。
常用的样条插值方法有线性样条插值和三次样条插值。
-线性样条插值在每两个相邻点之间使用线性函数进行插值,保证了插值函数的一阶导数是连续的。
-三次样条插值在每两个相邻点之间使用三次多项式进行插值,保证了插值函数的一阶和二阶导数都是连续的。
三次样条插值具有良好的平滑性和精度。
4.径向基函数插值:径向基函数插值是一种基于局部函数的插值方法,它假设函数值仅取决于与插值点的距离。
多项式的插值多项式与Lagrange插值知识点

多项式的插值多项式与Lagrange插值知识点多项式的插值多项式是数值分析中的重要概念,用于逼近给定数据点集合的函数。
通过插值,我们可以通过已知的数据点,构造出一个多项式函数,从而对未知数据点进行预测和估计。
Lagrange插值是一种常用的插值方法,具有简单易懂的形式和计算方法。
1. 插值多项式的定义插值多项式是指通过已知数据点集合,构造一个多项式函数,该函数在已知数据点上与原函数完全相等。
插值多项式在数值计算、信号处理、图像处理等领域都有广泛的应用。
2. Lagrange插值的原理Lagrange插值是一种基于多项式插值的方法,它通过构造一个满足一定条件的插值多项式来逼近原函数。
Lagrange插值的思想是,通过构造一系列的基函数,使得插值多项式在每个数据点上的取值等于对应数据点的函数值,并且在其他数据点上的取值为0。
3. Lagrange插值的公式Lagrange插值的公式非常简洁明了。
设已知的数据点集合为{(x0, y0), (x1, y1), ...,(xn, yn)},其中xi和yi分别代表数据点的横坐标和纵坐标。
插值多项式的公式可以表示为:P(x) = ∑(i=0 t o n) [yi * Li(x)]其中,Li(x)为Lagrange基函数,其公式为:Li(x) = ∏(j=0 to n, j!=i) [(x - xj) / (xi - xj)]4. Lagrange插值的优点Lagrange插值具有以下几个优点:(1) 简单易懂:Lagrange插值的公式非常简洁明了,易于理解和计算。
(2) 泛用性强:Lagrange插值适用于任意数量的数据点,能够满足不同场景的需求。
(3) 高精度:在数据点较为密集的情况下,Lagrange插值能够提供较高的插值精度。
5. Lagrange插值的局限性尽管Lagrange插值具有许多优点,但也存在一些局限性:(1) 数据点过于离散:当数据点过于离散时,Lagrange插值可能会导致插值多项式的震荡现象,从而影响插值结果的准确性。
多项式的插值多项式与Newton插值知识点

多项式的插值多项式与Newton插值知识点多项式的插值多项式是数值分析中的一个重要概念,它用于将给定的一组数据点拟合为一个多项式函数。
在多项式的插值问题中,给定n + 1个数据点(x0, y0), (x1, y1), ... , (xn, yn),其中xi不相等,yi可以是任意实数,要求找到一个n次多项式P(x),使得P(xi) = yi,i = 0, 1, ..., n。
插值多项式的目的是通过已知的数据点,找到一个多项式函数,从而能够在这些数据点上精确地插值。
Newton插值是一种常用的插值方法,它采用了差商的概念。
差商是一种用于表示多项式系数的方法,通过递推关系可以快速计算出插值多项式的系数。
为了使用Newton插值,首先需要计算出差商表。
差商表的第一列是给定的数据点的纵坐标值,第二列是相邻数据点的差商,第三列是相邻差商的差商,以此类推。
差商表的对角线上的元素即为插值多项式的系数。
插值多项式的计算过程可以通过以下步骤来完成:1. 根据给定的数据点,构建差商表。
2. 根据差商表的对角线上的元素,计算插值多项式的系数。
3. 根据插值多项式的系数,构建插值多项式。
在实际应用中,多项式的插值多项式可以用于数据的拟合和插值计算。
通过插值多项式,我们可以通过已知数据点推断出未知数据点的值,从而实现对数据的预测和估计。
总结起来,多项式的插值多项式与Newton插值是数值分析中常用的方法。
它们通过利用已知的数据点,构建插值多项式来拟合数据,从而实现数据的预测和插值计算。
在实际应用中,我们可以根据具体的问题和数据特点选择适合的插值方法,并利用插值多项式进行数据的分析和处理。
拉格朗日插值与多阶多项式

拉格朗日插值与多阶多项式在数学领域中,拉格朗日插值是一种常用的插值方法,用于通过已知的数据点构造一个多项式函数,以逼近未知函数。
这种方法以法国数学家约瑟夫·拉格朗日的名字命名,他在18世纪提出了这一概念。
拉格朗日插值的基本思想是通过构造一个多项式函数,使其在已知数据点处与未知函数相等。
这个多项式函数被称为拉格朗日插值多项式。
它的形式为:P(x) = Σ yi * Li(x)其中,P(x)是拉格朗日插值多项式,yi是已知数据点的函数值,Li(x)是拉格朗日基函数。
拉格朗日基函数Li(x)的定义如下:Li(x) = Π (x - xj) / (xi - xj)其中,i ≠ j,xi和xj是已知数据点的横坐标。
通过拉格朗日插值,我们可以在已知数据点处构造一个多项式函数,从而近似地描述未知函数的行为。
这个多项式函数的阶数取决于已知数据点的个数。
如果已知数据点的个数为n+1,那么拉格朗日插值多项式的最高阶数为n。
多阶多项式是指多项式函数的阶数大于1的情况。
在拉格朗日插值中,我们可以通过增加已知数据点的个数来构造更高阶的多项式函数,从而提高近似的精度。
然而,需要注意的是,随着阶数的增加,多项式函数的复杂性也会增加。
高阶多项式函数可能会在数据点之间产生震荡现象,这被称为龙格现象。
为了避免这种情况,我们需要谨慎选择数据点,以及适当控制多项式函数的阶数。
除了拉格朗日插值,还有其他插值方法,例如牛顿插值和埃尔米特插值。
这些方法都有各自的特点和适用范围。
在实际应用中,我们需要根据具体问题的需求来选择合适的插值方法。
总结起来,拉格朗日插值是一种常用的插值方法,通过构造多项式函数来近似描述未知函数的行为。
多阶多项式可以提高近似的精度,但需要注意控制阶数,以避免龙格现象的出现。
在实际应用中,我们需要根据具体问题的需求来选择合适的插值方法。
通过插值方法,我们可以更好地理解和分析数据,从而为问题的解决提供有力的支持。
多项式逼近和插值

多项式逼近和插值多项式逼近和插值是计算数学中的两个基本概念,它们是求一定准确度下函数近似值所必须采用的数值方法。
多项式逼近是指用低阶多项式逼近原函数,插值是利用已知数据点在插值区间内构造一个多项式函数,使得该函数在已知数据点处等于原函数。
它们的应用范围很广,包括科学工程计算、图像处理、信号处理等领域。
下面介绍它们的原理和应用。
一、多项式逼近当我们需要用低阶多项式逼近原函数时,可以采用最小二乘法。
最小二乘法是一种在数据拟合中广泛使用的方法,通过将误差的平方和最小化来确定函数的系数。
假设给定函数$f(x)$及其在$n+1$个采样点$(x_0,y_0),(x_1,y_1),...,(x_n,y_n)$处的值,我们要用一个$m$次多项式$p_m(x)$去逼近$f(x)$。
我们可以将$p_m(x)$表示为$p_m(x)=a_0 + a_1x + a_2x^2 + ... + a_mx^m$,则函数的误差可以表示为$E(a_0,a_1,...,a_m)=\sum_{i=0}^n [f(x_i)-p_m(x_i)]^2$,通过最小化误差函数来确定多项式系数$a_0,a_1,...,a_m$。
最小二乘法可以用线性代数和矩阵计算方法求解。
最小二乘逼近是一种非常有效的数据拟合方法,并且有许多实际应用。
例如,在金融领域中,我们可以用该方法来估计股票期权价格;在图像处理中,我们可以用该方法实现图片的平滑处理和降噪处理。
二、插值插值是利用已知数据点构造一个多项式函数,使得该函数在已知数据点处等于原函数。
插值法可分为以下两种情况:一是利用拉格朗日插值公式,将函数表示为已知节点函数的线性组合;二是利用牛顿插值公式,基于差商的思想构造插值多项式。
两种方法的计算效果是相同的,但在计算机实现过程中,两者有些微小的差别。
在实际应用中,插值方法常常用于图像处理、信号处理、数值微分和数值积分等问题,例如,在金融领域中,也可以利用插值方法对期权的未来价格进行预测。
2.1多项式和插值

x − x0 x − x1 L1 ( x ) = y 0 + y1 x 0 − x1 x1 − x 0
它是两个线性函数
x − x0 x − x1 l0 ( x ) = , l1 ( x ) = x 0 − x1 x1 − x 0
的线性组合。 也是线性插值多项式, 的线性组合。显然 l 0 ( x ) 和 l 1 ( x )也是线性插值多项式,满足
lk ( x
由此可得
i
) = δ = 0, i ≠ k .
lk ( x ) =
∏
n + 1
称为lagrange插值基函数。引入记号 插值基函数。 称为 插值基函数 n 容易求得
ω
ω
i=0 i≠k
x − xi , k = 0 ,1 , L , n , xk − xi
L
3
( 0 . 6 ) = − 0 . 509975
f
4
由于
0 .4 ≤ x ≤ 0 .8
max
( x ) ≤ 234 . 4 ,
利用余项估计式(2.1.11)可以得到 可以得到 利用余项估计式
第二章 插值与拟合
第二章
插值和拟合
在许多实际问题中,我们需要用函数 在许多实际问题中,我们需要用函数y=f(x)来表示某种内在规律 来表示某种内在规律 的数量关系,其中相当一部分函数是基于实际或观测数据而得到的。 的数量关系,其中相当一部分函数是基于实际或观测数据而得到的。 虽然f(x)在某个区间 在某个区间[a,b]上是存在的,有的还是连续的,但都只能给 上是存在的, 虽然 在某个区间 上是存在的 有的还是连续的, xi y 出[a,b]上一系列点 的函值 i = f ( x i ) ,i=0,1,……,n,这只是一个函 上一系列点 这只是一个函 数表。有的函数虽有解析表达式,但由于计算复杂,使用不方便, 数表。有的函数虽有解析表达式,但由于计算复杂,使用不方便,通 常也造一个函数表。 常也造一个函数表。 为了研究函数的变化规律, 为了研究函数的变化规律,往往需要求出不在给定数据点上 的其他函数值。因此, 的其他函数值。因此,我们希望根据给定的函数值做一个既能反映 ϕ ( x) 函数f(x)的特性,又便于计算的简单函数用 的特性, 近似f(x),粗略地说, 粗略地说, 函数 的特性 近似 粗略地说 就是要对函数的离散数据建立简单的数学模型。 就是要对函数的离散数据建立简单的数学模型。 例如,从人口普查统计, 例如,从人口普查统计,已知某国新生儿累计分布为 yi = f ( xi ), xi x 的新生儿数目。 为母亲年龄, 为母亲年龄,yi为新生儿母亲年龄低于或等于i 的新生儿数目。我们 的简单数学模型。又如, 需要建立 y=f(x) 的简单数学模型。又如,由化学实验得到某种物
多项式插值_Lagrange插值

φ(xk)=f(xk)=yk , k=0,1, … ,n
(2)
这时称 y=f(x)为被插值函数, φ(x) 称为插值函数, xk 称 为插值节点,式(2)称为插值条件,寻求插值函数φ(x) 的方法称为插值方法.
二、多项式插值问题
在构造插值函数时,函数类的不同选取, 对应着 各种不同的插值方法,这里主要研究函数类P是代数 多项式,即所谓的多项式插值问题。
多项式插值,从几何角度看,就是寻求n次代数曲 线 y=pn(x) 通过n+1个点(xk , yk) (k=0,1,…,n)作为 f(x) 的 近似(如下图).
y pn( x)
y f (x)
设 pn(x)=a0+ a1x+…+an xn ,当满足如下的插值条件 时,即
pn(xk) = f(xk) = yk , k = 0,1, … ,n
f(x) ≈ L1(x)=y0l0(x)+y1 l1(x)
二、抛物线插值(n=2)
已知
xi x0 x1 x2 yi y0 y1 y2
求解 L2(x)=a2x2+a1 x+a0
使得 f(x) ≈ L2(x), x ∈[x0 , x2].
关于二次多项式的构造采用如下方法:令
L2(x)=A(x-x1)(x-x2)+B(x-x0)(x-x2)+C(x-x0)(x-x1)
插值问题
§1 多项式插值问题 §2 Lagrange插值多项式
§1 多项式插值问题
一、插值问题
设函数 y=f(x)在区间[a,b]连续, 给定n+1个点
a≤ x0 < x1 < … < xn≤b
(1)
已知 f(xk)=yk (k=0,1,…,n) ,在函数类中寻找一函数φ(x) 作为 f(x) 的近似表达式,使满足
各种插值方法比较

各种插值方法比较插值是一种常见的数据处理技术,用于估计缺失数据或填充数据空缺。
在数据分析、统计学和机器学习等领域中,插值可以帮助我们处理缺失数据或者对连续数据进行平滑处理。
常见的插值方法包括线性插值、多项式插值、样条插值、Kriging插值等。
1.线性插值:线性插值是一种简单但广泛使用的插值方法,基于原始数据中的两个点之间的直线来估计缺失点的值。
这种方法适用于数据分布较为均匀的情况,但对于非线性的数据,可能会导致估计值与实际值之间的较大误差。
2.多项式插值:多项式插值是通过使用多项式函数来拟合原始数据,从而估计缺失点的值。
多项式插值方法具有较高的灵活性,可以在不同的数据点之间产生平滑曲线,但在数据点较多时,可能会导致过拟合问题。
3.样条插值:样条插值是一种常见的插值方法,它通过使用分段多项式函数来拟合数据,从而在数据点之间产生平滑曲线。
样条插值方法克服了多项式插值的一些问题,同时在数据点较少的情况下也能有效地估计缺失点的值。
4. Kriging插值:Kriging插值是一种基于统计学和地理学原理的插值方法,它考虑了数据点之间的空间关系,并使用半变异函数来估计缺失点的值。
Kriging插值方法适用于具有空间相关性的数据,例如地理信息系统中的地形数据或环境监测数据。
除了上述常见的插值方法之外,还有一些其他的插值方法,如逆距离加权插值、最近邻插值、高阶插值等。
5.逆距离加权插值:逆距离加权插值方法假设距离越近的数据点对估计值的贡献越大,它根据数据点之间的距离来计算权重,并将其与对应数据点的值进行加权平均来估计缺失点的值。
逆距离加权插值方法适用于数据点密集、分布不均匀的情况,但对于噪声较大或异常值较多的数据,可能会导致估计值的不准确。
6.最近邻插值:最近邻插值方法简单和直观,它假设与缺失点距离最近的已知点的值与缺失点的值相同。
这种方法适用于数据点之间的空间相关性较强,但在数据点分布不均匀或者缺失点周围的数据点值变化较大的情况下,可能会导致估计值的不准确。
多项式插值

k i
为 f ( x) 关于 xi , x k 的一阶均差(差商)。称
xk xi 为 f ( x) 关于 xi , x j , xk 的二阶均差(差商)。称
f [ xi , x j , xk ]
f [ x j , xk ] f [ xi , x j ]
i jk
f [ x0 , x1 ,, xk ]
0 ( x) 1,
j ( x) ( x x0 )(x x1 )( x x j 1 ) ( x xi ), j 1, 2, , n
i 0
j 1
则可将 n 次插值多项式写成如下形式:
pn ( x)
a ( x)
j 0 j j
n
a0 a1 ( x x0 ) an ( x x0 )(x x1 )( x xn1 )
多项式插值
问题描述:
设 x0 , x1 ,
, xn 是 a, b 上的 n 1 个互异点,构造 n 次多
p( xi ) f ( xi ) yi , i 0,1, ,n
项式 p ( x) 满足:
多项式函数的基底为 0 ( x) 1, 1 ( x) x, , n ( x) xn ,由于
4.2.2 Newton插值公式
为了克服Lagrange插值多项式的缺点,能灵活地增加插值节 点,使其具有“承袭性”,即可以充分利用已有的信息,我们 引进Newton插值公式。
设已知函数 f ( x)在 [a, b]上的 n 1个互异插值节点 x0 , x1 , , xn 上的函数值 f 0 , f1 , , f n ,将基函数取作:
x0 x1 xk
f [ x0 , x1 ,, xn ] ( x x0 )(x x1 )( x xn1 )
实验八 多项式与插值

实验项目八多项式与插值学院:信息科学与工程学院专业: 14自动化姓名:苑志琪学号: 146140048指导教师:应祥岳-1-一、实验内容1 多项式1.1 多项式的根找出多项式的根,即多项式为零的值,可能是许多学科共同的问题。
MATLAB 求解这个问题,并提供其它的多项式操作工具。
在在 MATLAB 里,多项式是由一其系数行向量表示,它的系数是按降序排列里,多项式是由一其系数行向量表示,它的系数是按降序排列。
例如,输入多项式 x 4 -12x 3 +0x 2 +25x+116» p=[1 -12 0 25 116]p =1 -12 0 25 116注意,必须包括具有零系数的项。
除非特别地辨认,MATLAB 无法知道哪一项为零。
给出这种形式,用函数 roots 找出一个多项式的根。
» r=roots(p)r =11.74732.7028-1.2251 + 1.4672i-1.2251 - 1.4672i因为在 MATLAB 中,无论是一个多项式,还是它的根,都是向量,MATLAB 按惯例规定,多项式是行向量,根是列向量按惯例规定,多项式是行向量,根是列向量。
知道一个多项式的根后,也可以构造相应的多项式在MATLAB 中,命令 poly 执行这个任务。
» pp=poly(r)pp =1.0e+002 *Columns 1 through 40.0100 -0.1200 0.0000 0.2500Column 51.1600 + 0.0000i» pp=real(pp) %throw away spurious imaginary partpp =1.0000 -12.0000 0.0000 25.0000 116.0000因为 MATLAB 无隙地处理复数,当用根重组多项式时,如果一些根有虚部,由于截断误差,则 poly 的结果有一些小的虚部,这是很普通的。
消除虚假的虚部,如上所示,只要使用函数 real 函数抽取实部。
代数多项式插值问题

(拉格朗日二次插值多项式 ) P2(x)的截断误差为
R2 ( x ) f ( x ) P2 ( x ) f ' ' ' ( ) ( x x0 )( x x1 )( x x2 ) 3!
ξ是包含x0,x1,x2,x的区间内某数。
例2 已知函数y=f(x)的观测数据如表所示,试求 其拉格朗日插值多项式,并计算f(1.5)的近似值。
f ( 2 ) f ( 2 ) R1 ( x ) 2 ( x) ( x 100)( x 144) 2! 2! 3 1 1 1 1 2 2 f ( x) x , f ' ( x ) x , f ' ' ( x ) x 2 4 4x x 1 1 ( 2) max max f ( ) 100 x 144 100 144 4 4000 1 1 | ( x 100)( x 144) | | R1 ( x ) | 2 4000 1 | (110 100)(110 144) | 17 0.0425 | R1 (110) | 8000 400
2 1 x0 x0 n x0
其系数行列式
2 n 1 x x x 1 1 1 (x x ) 0 V ( x0 , x1 ,, xn ) i j 0 j i n
1 xn
2 n xn xn
因此方程组存在唯一的解a0 , a1 ,, an ,因此Pn(x)存在并唯一。
4.1.2 插值多项式的误差 截断误差: Rn ( x) f ( x) Pn ( x)
F(t)在区间[a,b]上至少有n+2个互异的零点x, x0 , x1 ,…, xn。
根据罗尔定理,在F(t)的两个零点之间至少有一点使导 数为0,即
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多项式
多项式的表达
MatLab中用按降幂排列的多项式系数组成的行向量表示多项式,如: p(x)=x^3-2x-5被表示为:
p = [1 0 –2 –5];
多项式的根
r = roots(p)
r =
2.0946
–1.0473 + 1.1359i
–1.0473 – 1.1359i
根被储存为列向量.
若要由方程的根构造多项式,则
p2 = poly(r)
p2 =
1 8.8818e-16 –
2 –5
多项式估计
可以用多项式估计出多项式在某一点的值:
polyval(p,5)
ans =
110
同样也可以估计矩阵多项式的值p(X) = X^3 – 2X – 5I,
X = [2 4 5; –1 0 3; 7 1 5];
Y = polyvalm(p,X)
Y =
377 179 439
111 81 136
490 253 639
卷积
多项式相乘是一个卷积的过程,conv()
a = [1 2 3];
b = [4 5 6];
c = conv(a,b)
c =
4 13 28 27 18
多项式相除是其逆过程,用deconv():
[q,r] = deconv(c,a)
q =
4 5 6
r =
0 0 0 0 0
多项式曲线逼近
polyfit(x,y,n)能用多项式逼近由x,y向量提供的数据,n是其阶数,如: x = [1 2 3 4 5];
y = [5.5 43.1 128 290.7 498.4];
p = polyfit(x,y,3)
p =
–0.1917 31.5821 –60.3262 35.3400
将图画出
x2 = 1:.1:5;
y2 = polyval(p,x2);
plot(x,y,’o’,x2,y2)
grid on
分式多项式分解
residue()可将分式多项式分解如下:
对于下式
分解为:
b = [–4 8];
a = [1 6 8];
[r,p,k] = residue(b,a)
r =
–12 8
p =
–4 –2
k =
[]
重载此函数可以完成分式多项式相加:
[b2,a2] = residue(r,p,k)
b2 =
–4 8
a2 =
1 6 8
插值
插值是在已知的数据列中,估计别点的函数值.
一维插值
一维插值在MatLab中有两种方法:
@ 多项式插值
@ 建立在FFT上的插值
多项式插值
yi = interp1(x,y,xi,method)
x是坐标向量,y是数据向量,xi是待估计点向量,method是插值方法, method有四种:
1.nearest 寻找最近数据点,由其得出函数值;
2.linear 线性插值(该函数的默认方法);
3.spline 样条插值,数据点处光滑--左导等于右导;
4.cubic 三次插值
以上四种方法得出的数据值一个比一个精确,而所需内存及计算时间也一个比一个要大要长.
建立在FFT上的插值
这种方法利用了快速傅立叶变换
y = interpft(x,n),其中,x含有周期性的函数值.
二维插值
ZI = interp2(X,Y,Z,XI,YI,method)
method有三种:
1.nearest 寻找最近数据点,由其得出函数值;
2.linear 二维线性插值
3.cubic 二维三次插值
下面来看看二维插值的例子:
先创造数据点:
[x,y] = meshgrid(–3:1:3);
z = peaks(x,y);
surf(x,y,z)
再比较一下不同的插值
[xi,yi] = meshgrid(–3:0.25:3);
zi1 = interp2(x,y,z,xi,yi,'nearest');
zi2 = interp2(x,y,z,xi,yi,'bilinear'); zi3 = interp2(x,y,z,xi,yi,'bicubic');
三维及多维插值
列出函数,其余从略
VI = interp3(X,Y,Z,V,XI,YI,ZI,method)
VI = interpn(X1,X2,X3...,V,Y1,Y2,Y3,...,method)。