前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >差分法逼近微分

差分法逼近微分

作者头像
裴来凡
发布2022-05-29 10:14:02
5230
发布2022-05-29 10:14:02
举报
代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#定义函数
f=lambda x:2*x**3+2*x**2+32
#返回向前差商
def forward_diff(x,h):
    plt.plot([x,x+h],[f(x),f(x+h)],'b-d',label='向前差商')
    return (f(x+h)-f(x))/h
#返回向后差商
def backward_diff(x,h):
    plt.plot([x-h,x],[f(x-h),f(x)],'r*-',label='向后差商')
    return (f(x)-f(x-h))/h
#返回中心差商
def central_diff(x,h):
    a=(f(x-h)+f(x+h))/2
    plt.plot([x-h,x+h],[f(x-h)+f(x)-a,f(x+h)+f(x)-a],'g--',label='中心差商')
    return (f(x+h)-f(x-h))/(2*h)
xx=np.linspace(-1.0,1.5,20)#产生等差数列作为坐标轴标记
yy=f(xx)
plt.plot(xx,yy,'k-',label='原函数')
print('向前差商',forward_diff(1,0.5))
print('向后差商',backward_diff(1,0.5))
print('中心差商',central_diff(1,0.5))
plt.legend()
plt.show()

向前差商 14.5 向后差商 6.5 中心差商 10.5

算法:差分法逼近微分是通过有限差分来近似表示导数(Derivative),从而寻求微分方程(Differential Equation)的近似解,包括向前差分、向后差分和中心差分的形式。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档