分段三次hermite py
发布时间
阅读量:
阅读量
依据专家提供的matlab程序进行重构
示例函数定义为f(x)=exp(x)
import numpy as np
import time
import matplotlib.pyplot as plt
def f(x):#函数表达式,一阶导数
return np.exp(x)
def H3(x,x0,x1,f0,f1,df0,df1):#定义两点三次 Hermite 插值函数
return (f0*(1+2*(x-x0)/(x1-x0))+df0*(x-x0))*((x-x1)/(x0-x1))**2 +(f1*(1+2*(x-x1)/(x0-x1))+df1*(x-x1))*((x-x0)/(x1-x0))**2
#插值区间
a=-5.0
b=5.0
N=[1,2,4,8,10,12]
for n in N:
h=(b-a)/n#步长
xi=np.linspace(a,b,n+1)#插值节点
fi=f(xi)#插值节点上的函数值
dfi=f(xi)#一阶导数值
x=np.linspace(a,b,101)#需要插值的点, 绘图用
L=len(x)
y = np.zeros(
全部评论 (0)
还没有任何评论哟~
