Python数值计算(9)

继续接着前面多项式的操作来说。

4. 多项式的计算

除了进行值替换,多项式之间可以进行代数的基本运算,如加减乘除等,甚至还可以进行微分和积分等常见运算。

分别使用传统的运算法就可以了,唯一需要注意的是除法,应该使用//,而不是/,测试如下:

a=P([1,-2,0,3])
b=P([-2,1])
print(a-b) # 3.0 - 3.0·x + 0.0·x² + 3.0·x³
print(a+b) # -1.0 - 1.0·x + 0.0·x² + 3.0·x³
print(a*b) # -2.0 + 5.0·x - 2.0·x² - 6.0·x³ + 3.0·x⁴
print(a//b) # 10.0 + 6.0·x + 3.0·x²

通常两个多项式的除法不大可能刚好整除,因此,会有余项,计算余项很简单,使用%运算符,例如上例中:

print(a%b) # 21.0

由于b是一个一次式,因此余数为一个常数。

在需要同时获取商和余式的时,最好的做法是使用divmod函数:

quo, rem = divmod(a,b)

甚至还可以使用** 计算多项式的幂:

a=P([1,-2,0,3])
print(a*a)
print(a**2)
# both display: 1.0 - 4.0·x + 4.0·x² + 6.0·x³ - 12.0·x⁴ + 0.0·x⁵ + 9.0·x⁶

积分和微分,使用函数integ和deriv,积分和微分之后仍旧是一个多项式:

a=P([1,-2,0,3])
print(a.integ()) # 0.0 + 1.0·x - 1.0·x² + 0.0·x³ + 0.75·x⁴
print(a.deriv()) # -2.0 + 0.0·x + 9.0·x²

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值