分段三次Hermite插值的原理、matlab代码和Python代码

这篇具有很好参考价值的文章主要介绍了分段三次Hermite插值的原理、matlab代码和Python代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、分段三次Hermite插值

二、分段三次Hermite插值多项式的推导

三、分段三次Hermite插值的matlab实现

 四、分段三次Hermite插值的Python实现


一、分段三次Hermite插值

已知,求一个分段函数H(x),使其满足:
(1)

(2)在每个子区间分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习 上,H(x)是次数不超过3的多项式。

称满足上述条件的函数H(x)为分段三次Hermite插值多项式。

二、分段三次Hermite插值多项式的推导

采用基函数的方法来构造。

表示为:

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习 

其中为插值函数,且均为次数不超过3的多项式。为满足插值条件,它们应满足:

    ,     

 

 

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

  由于,故含有因子。可设 

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

 其中a,b为待定系数。

由,可得。

由,可得。

将a,b代入得

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习 

 类似地,将互换,可得: 


分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

 由于,故含有因子。可设

 其中c为待定系数。

由,可得。

类似地, 将互换,可得:

 

综上所述,三次Hermite插值多项式 的表达式为:

 分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

 分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

 

 

可以证明,其余项为: 

 

其中,介于之间。

 注:

作为多项式插值,三次已经是较高的次数,次数再高就有可能发生Runge现象,因此,对有n+1节点的插值问题,我们可以使用分段两点三次Hermite插值。

三、分段三次Hermite插值的matlab实现

例:已知f(x)在节点1,2处的函数值为f(1)=2,f(2)=3,f(x)在节点1,2处的导数值为。求f(x)的两点三次插值多项式及f(x)在x=1.5,1.7处的函数值。

function Hermite(A,B,C)
%输入  A代表分段三次Hermite插值所对应的节点
%      B代表节点对应的函数值
%      C代表节点对应的一阶导数值
%输出  f代表分段三次Hermite插值多项式
syms x a1 a2 b1 b2 df f
a1=(1+2*(x-A(1))/(A(2)-A(1)))*((x-A(2))/(A(1)-A(2)))^2
a2=(1+2*(x-A(2))/(A(1)-A(2)))*((x-A(1))/(A(2)-A(1)))^2
b1=(x-A(1))*((x-A(2))/(A(1)-A(2)))^2
b2=(x-A(2))*((x-A(1))/(A(2)-A(1)))^2
df=B(1)*a1+B(2)*a2+C(1)*b1+C(2)*b2
f=collect(df,x)

在命令行窗口中输入:
>> A=[1,2];
>> B=[2,3];
>> C=[0,-1];
>> Hermite(A,B,C)

最后得到的结果如下:

a1 =
 
(2*x - 1)*(x - 2)^2
 
 
a2 =
 
-(2*x - 5)*(x - 1)^2
 
 
b1 =
 
(x - 1)*(x - 2)^2
 
 
b2 =
 
(x - 1)^2*(x - 2)
 
 
df =
 
2*(2*x - 1)*(x - 2)^2 - (x - 1)^2*(x - 2) - 3*(2*x - 5)*(x - 1)^2
 
 
f =
 
- 3*x^3 + 13*x^2 - 17*x + 9

因此,f(x)的两点三次插值多项式是:分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习

 四、分段三次Hermite插值的Python实现

同样采用上面的例子。

from sympy import *
def Hermite(A,B,C):
    x=Symbol('x')
    a1=Symbol('a1')
    a2=Symbol('a2')
    b1=Symbol('b1')
    b2=Symbol('b2')
    df=Symbol('df')
    f=Symbol('f')
    a1=(1+2*(x-A[0])/(A[1]-A[0]))*((x-A[1])*(A[0]-A[1]))**2
    a2=(1+2*(x-A[1])/(A[0]-A[1]))*((x-A[0])/(A[1]-A[0]))**2
    b1=(x-A[0])*((x-A[0])/(A[1]-A[0]))**2
    b2=(x-A[1])*((x-A[0])*(A[1]-A[0]))**2
    df=B[0]*a1+B[1]*a2+C[0]*b1+C[1]*b2
    f=factor(df)
    return(f)

A=[1,2]
B=[2,3]
C=[0,-1]
f=Hermite(A,B,C)
print(f)

 结果如下:

-3*x**3 + 13*x**2 - 17*x + 9

因此,f(x)的两点三次插值多项式是:分段三次hermite函数,数值方法,matlab,开发语言,python,算法,学习 文章来源地址https://www.toymoban.com/news/detail-743465.html

到了这里,关于分段三次Hermite插值的原理、matlab代码和Python代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践

    温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就 需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足

    2024年02月05日
    浏览(44)
  • 基于MATLAB的三维数据插值拟合与三次样条拟合算法(附完整代码)

    目录 一. 三维插值 例题1 二. 高维度插值拟合 格式一 格式二 格式三 格式四 格式五 例题2 三. 单变量三次样条插值 例题3 例题4 四. 多变量三次样条插值 例题6 首先三维网格生成是利用 meshgrid() 函数,在MATLAB中调用格式如下: 三维插值运算,主要利用griddata()函数与interp()函数

    2024年02月14日
    浏览(43)
  • 3.Hermite矩阵

    将线性代数中的实矩阵扩展为复矩阵 【定义】A H 矩阵 对复矩阵 A A A A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ] A= begin{bmatrix} a_{11} a_{12} cdots a_{1n} \\\\ a_{21} a_{22} cdots a_{2n} \\\\ vdots vdots vdots \\\\ a_{n1} a_{n2} cdots a_{nn} \\\\ end{bmatrix} A = ​ a 11 ​ a 21 ​ ⋮ a n 1 ​

    2024年01月15日
    浏览(34)
  • Hermite矩阵的酉对角化

    Hermite矩阵:一个矩阵将被称作Hermite矩阵,如果他的共轭转置等于他本身 对角化:对于矩阵M(n,n)若存在一个可逆矩阵A,使得A^(-1)MA为对角矩阵,则上一操作被称为矩阵的对角化 方阵可被对角化的条件:这个(n,n)矩阵存在n个线性不相关的特征向量 酉矩阵:一个矩阵将被称作酉

    2024年02月07日
    浏览(36)
  • 矩阵理论| 特殊矩阵:Hermite矩阵/共轭对称矩阵

    Hermite矩阵是复数域上的“对称矩阵” Hermite矩阵性质 其性质 与实对称矩阵基本一致 : 实数特征值; 有一套正交的特征向量(各个特征子空间正交+代数重数=几何重数) 此外,Hermite矩阵也是复正定矩阵的前提(就如实数域中对称矩阵是正定矩阵的前提): A boldsymbol{A} A 为

    2024年02月06日
    浏览(53)
  • 【矩阵论】1. 准备知识——复数域上矩阵,Hermite变换

    矩阵论的所有文章,主要内容参考北航赵迪老师的课件 [注]由于矩阵论对计算机比较重要,所以选修了这门课,但不是专业搞数学的,所以存在很多口语化描述,而且对很多东西理解不是很正确与透彻,欢迎大家指正。我可能间歇性忙,但有空一定会回复修改的。 矩阵论 1

    2024年01月16日
    浏览(38)
  • 基于Matlab的插值问题(Lagrange插值法、三次插值多项式)

    要求 1、 利用Lagrange插值公式 L n ( x ) = ∑ k = 0 n ( ∏ i = 0 , i ≠ k n x − x i x k − x i ) y k {L_n}(x) = sumlimits_{k = 0}^n {left( {prodlimits_{i = 0,i ne k}^n {frac{{x - {x_i}}}{{{x_k} - {x_i}}}} } right)} {y_k} L n ​ ( x ) = k = 0 ∑ n ​ ( i = 0 , i  = k ∏ n ​ x k ​ − x i ​ x − x i ​ ​ ) y k ​ 编写出

    2024年02月07日
    浏览(44)
  • 【矩阵分析】线性空间、λ矩阵、内积空间、Hermite矩阵、矩阵分解、矩阵范数、矩阵函数

    单纯矩阵 :A可对角化⇔①A可对角化;⇔②n个线性无关的特征向量; ⇔③每个特征值的几何重复度等于代数重复度;⇔④特征值λi对应的pi = n - rank(λiE - A)。 等价矩阵 :A(λ)等价于B(λ)⇔① 任意k阶行列式因子相同Dk(λ);⇔②有相同的不变因子dk(λ);⇔③相同的初等因子,且

    2024年01月22日
    浏览(65)
  • 【矩阵论】1.准备知识——Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩

    矩阵论的所有文章,主要内容参考北航赵迪老师的课件 [注]由于矩阵论对计算机比较重要,所以选修了这门课,但不是专业搞数学的,所以存在很多口语化描述,而且对很多东西理解不是很正确与透彻,欢迎大家指正。我可能间歇性忙,但有空一定会回复修改的。 矩阵论 1

    2024年02月03日
    浏览(103)
  • 三次、五次多项式插值(附代码)

      三次、五次多项式插值在工程实践中很常见。求解多项式的系数最直接的方法是根据端点处的约束条件,列出线性方程组,再写成矩阵方程AX=B,然后用通用的方法(如高斯消元法、LU分解等)解矩阵方程。   本博文利用matlab符号计算的功能,给出三次、五次多项式插值的

    2024年02月06日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包