パイソニスタの方へ
>積分定数𝐶を含みません。
・n階積分の時は、n個 関数が必要ですか?いい方法を教えて下さい。
ChatGPT-3.5先生へ
●user
sympyの積分で積分定数を表示する方法を教えて下さい。
sympy の 積分で積分定数 表示
自動的になりますか
ChatGPT-3.5
はい、SymPyの標準の integrate() 関数はデフォルトでは積分定数
𝐶を含みません。したがって、積分定数を自動的に追加したい場合には、前述のようなラップ関数を作成する必要があります。
...
・最終行は、私が追加編集しました。
from sympy import symbols, integrate
def integrate_with_constant(expression, variable):
C = symbols('C') # 積分定数 C を定義
return integrate(expression, variable) + C
x = symbols('x')
f = x**2
# 自動的に積分定数を含む積分結果を取得
result = integrate_with_constant(f, x)
# print(result)
print("#",result)
# C + x**3/3
自作は、よろしくない。
# ver 0.1
from sympy import *
var('E,I,P,l',positive=True)
var('R,x' ,positive=True)
C1 = symbols('C1')
C2 = symbols('C2')
def integrate_with_constant_C2(expression, variable):
return integrate(expression, variable) + C2
def integrate_with_constant_C1(expression, variable):
return integrate(expression, variable) + C1
def myTawami_KatamotiHari(E,I,myP,myl):
w=integrate_with_constant_C2(integrate_with_constant_C1((l-x)*myP,x),x)
sol=solve([Eq( w .subs({x:0}),0),
Eq(diff(w,x).subs({x:0}),0)
],[C1,C2])
return w.subs({C1:sol[C1],C2:sol[C2]})/(E*I)
print("#",myTawami_KatamotiHari(E,I,P,l))
print("#",myTawami_KatamotiHari(E,I,P,l).subs({x:l}))
# (P*l*x**2/2 - P*x**3/6)/(E*I)
# P*l**3/(3*E*I)
doc