首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换集成(ln(x-4))输出

转换集成(ln(x-4))输出
EN

Stack Overflow用户
提问于 2022-08-10 21:34:28
回答 1查看 16关注 0票数 0
代码语言:javascript
复制
from sympy import *
from sympy.abc import x
integrate(ln(x-4))

产出:

log(−4)−−4log(−4)

有没有办法把这个转换成(x-4)*ln(x-4) - (x-4)(x-4)*ln(x-4) + 4 -x

EN

回答 1

Stack Overflow用户

发布于 2022-08-10 22:05:19

您可以使用transform进行手动替换。

代码语言:javascript
复制
In [2]: I = Integral(ln(x - 4), x)

In [3]: I
Out[3]: 
⌠              
⎮ log(x - 4) dx
⌡              

In [4]: I.transform(x - 4, y)
Out[4]: 
⌠          
⎮ log(y) dy
⌡          

In [5]: I.transform(x - 4, y).doit()
Out[5]: y⋅log(y) - y

In [6]: I.transform(x - 4, y).doit().subs(y, x - 4)
Out[6]: -x + (x - 4)⋅log(x - 4) + 4

或者,您可以只使用collect

代码语言:javascript
复制
In [7]: integrate(ln(x - 4))
Out[7]: x⋅log(x - 4) - x - 4⋅log(x - 4)

In [8]: integrate(ln(x - 4)).collect(log(x - 4))
Out[8]: -x + (x - 4)⋅log(x - 4)

这个例子忽略了4,但这是预期的,因为反导数只有唯一的定义,直到一个加性常数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73312977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档