0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPT-3.5先生へ「sympyの積分で積分定数を表示する方法を教えて下さい。」

Last updated at Posted at 2024-11-02

パイソニスタの方へ
>積分定数𝐶を含みません。
・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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?