如何对自然日志进行派生getting TypeError:can't convert expression

2024-06-16 12:08:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

衍生工具

我试过了numpy.log文件以及数学.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

Tags: toimportnumpylogconvertasfunctionmath
1条回答
网友
1楼 · 发布于 2024-06-16 12:08:37

不要把mathsympy混在一起。从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)

相关问题 更多 >