python 中多项式括号内乘完_数值微分|多项式的导数计算

cf76de03a9e37e3b0eb803a824d41fbb.png

在数值积分推导辛普森公式时就是将函数插值成为多项式形式,原因在于多项式的简洁。任何初等函数都可以用泰勒公式展开成多项式的形式,然后在多项式的基础上作求导运算。也可以用别的插值方法,比如拉格朗日插值,样条插值,埃尔米特插值等等。

e1550787689dbb68ecaec37499a3639e.png

如果作为一组离散数据点给出,则插值会非常有效。通常建议将多项式的阶数应该小于6,以避免振荡。

##python定义多项式就是将多项式系数保存在一个列表中p = a[n]for i in range(1,n+1):                               p = a[n-i] + p*x

四阶多项式

可写成

这里,和 一样。对于次多项式

有以下递推式

两边对求一阶导,得

对求二阶导,得

以上过程就体现了多项式的简洁。Python代码:

"""p = a[0] + a[1]*x + a[2]*xˆ2 +...+ a[n]*xˆn计算多项式p的一阶导数dp以及二阶导数ddp"""class Polynomials:    def __init__(self, a):        self.a = a        # 计算多项式的一阶导数dp以及二阶导数ddp    def evalPolynomials(self,x):        n = len(self.a) - 1        p = self.a[n]        dp = 0.0         ddp = 0.0        for i in range(1,n+1):            ddp = ddp*x + 2.0*dp            dp = dp*x + p            p = p*x + self.a[n-i]        return p,dp,ddp### 创建多项式对象px = 1 + x + 2xˆ2 + 3xˆ3 + 4xˆ4px = Polynomials([1,1,2,3,4])## px在x=1处的一阶导数与二阶导数[p0,p1,p2] = px.evalPolynomials(1)print(p0,p1,p2)

★★★★往期相关★★★★

通过案例学Python之定义函数类

数值积分|第二类反常积分

数值积分|第一类反常积分

数值积分|中点法则(Midpoint Rule)

数值积分|龙贝格公式

数值积分|自适应辛普森积分公式

数值积分|自适应梯形积分

数值积分|牛顿-柯特斯公式

数值积分|高斯积分

数值积分|泰勒(Taylor)公式求积分

数值积分| 辛普森公式

Python实现辛普森公式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值