Python 如何对自然日志进行派生获取类型错误:can';t将表达式转换为浮点

Python 如何对自然日志进行派生获取类型错误:can';t将表达式转换为浮点,python,derivative,Python,Derivative,我正在运行这段python代码来推导公式。 ​R(x)=50*ln(5x+1) 派生词 我试过numpy.log和math.log from sympy import Symbol, Derivative import numpy as np import math x= Symbol('x') function = 50*(math.log(5*x+1)) deriv= Derivative(function, x) deriv.doit() 我希望得到微分后的方程,但我得到的是误差 -

我正在运行这段python代码来推导公式。 ​R(x)=50*ln(5x+1)

派生词 我试过numpy.log和math.log

from sympy import Symbol, Derivative
import numpy as np
import math
x= Symbol('x')

function = 50*(math.log(5*x+1))

deriv= Derivative(function, x)
deriv.doit()
我希望得到微分后的方程,但我得到的是误差

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-107-e41161e3f329> in <module>()
      5 x= Symbol('x')
      6 
----> 7 function = 50*(math.log(5*x+1))
      8 
      9 deriv= Derivative(function, x)

~/anaconda3/lib/python3.7/site-packages/sympy/core/expr.py in __float__(self)
    254         if result.is_number and result.as_real_imag()[1]:
    255             raise TypeError("can't convert complex to float")
--> 256         raise TypeError("can't convert expression to float")
    257 
    258     def __complex__(self):

TypeError: can't convert expression to float
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
5 x=符号('x')
6.
---->7函数=50*(数学日志(5*x+1))
8.
9 deriv=导数(函数,x)
~/anaconda3/lib/python3.7/site-packages/sympy/core/expr.py in\uuuuu float\uuuu(self)
254如果result.is_number和result.as_real_imag()[1]:
255 raise TypeError(“无法将复数转换为浮点”)
-->256 raise TypeError(“无法将表达式转换为浮点”)
257
258 def_________________________(自):
TypeError:无法将表达式转换为浮点

不要把
数学
同音
混在一起。使用
sympy
中的
log

import sympy as sp

x= sp.Symbol('x')

y = 50*(sp.log(5*x+1))

deriv= sp.Derivative(y, x)

deriv.doit()

print(deriv.doit()) #250/(5*x + 1)

谢谢,出于好奇,你为什么不能混在一起them@SidTheSwimmer因为
math
不使用
symbol
s,反之亦然