python使用diff函数对数学公式求导时报错及pow()函数

错误TypeError: can't convert expression to float

经过对公式仔细排查,发现是diff()函数不能对math.exp(x)这个表达式进行求导,想来应当是对其他第三方库里类似的函数都不能求导。

故而将math.exp(x)转换为预置的pow(e,x)


但通过查资料发现,python预置的pow()函数和math.pow()有区别

区别1:预置的pow()函数有三个参数,除了math.pow()的功能外,还可以将结果对第三个参数进行取模

区别2:pow()函数会把参数作为整型,而math.pow()则会把参数转换成float进行计算

但通过实际操作发现区别2还是可以解决的。

print (pow(3,2))
print (math.pow(3,2))
print (pow(3.0,2))
9
9.0
9.0

也就是说,预置的pow()函数传入的参数只要已经是float,则与math.pow()无异

而恰巧我这次的项目中,正是要计算pow(math.e,x),math.e本就不是int型,所以不影响计算结果。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值