python使⽤diff函数对数学公式求导时报错及pow()函数错误TypeError: can't convert expression to float
经过对公式仔细排查,发现是diff()函数不能对p(x)这个表达式进⾏求导,想来应当是对其他第三⽅库⾥类似的函数都不能求导。
故⽽将p(x)转换为预置的pow(e,x)
diff函数但通过查资料发现,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型,所以不影响计算结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。