・私は、「重解」の意味が少し理解できてきました。
・私は、「第1種オイラー積分」を勉強したいと思います。(後日)
ありがとうございました。
オリジナル
(youtube 14:50) math karat 様より
上と同じです。大学入試数学問題集成 様>テキスト【3】
ChatGPT-3.5先生へ(できませんでした。)
入力文(一括入力です。)
私の入力が、下手なのかもしれません。 sympyのソースコードを出力してほしいです。
xy平面上の曲線Cを
y=x**2*(x-1)*(x+2)とする.
(1)Cに2点で下から接する直線Lの方程式を求めよ.
(2)CとLが囲む面積を求めよ.
???回答???
???(1)...したがって、Cに2点で下から接する直線Lの方程式は次の3つです。
???(2)...数値的な計算が必要です。
WolframAlphaで(できませんでした。)
以下、できませんでした。
積分のexampleだけ
sympyで(math karat 様の方法を参考に) 最速解法
・作図しました。
・(2A)math karat 様の面積公式 より。
・(2B)sympyの標準積分関数です。
Integrals
https://docs.sympy.org/latest/modules/integrals/integrals.html
from sympy import *
var('x' ,real=True)
var('a,b,c,d,',real=True)
y =x**2*(x-1)*(x+2)
y1=(x**2+a*x+b)**2+c*x+d
p0=Poly(y ,x)
p1=Poly(y1,x)
abcd=solve([Eq( p0.nth(3),p1.nth(3) ),
Eq( p0.nth(2),p1.nth(2) ),
Eq( p0.nth(1),p1.nth(1) ),
Eq( p0.nth(0),p1.nth(0) )
],[a,b,c,d])
yl=abcd[0][2]*x+abcd[0][3]
αβ=solve(y-yl)
#
print("#(1) ",yl)
print("#(2A)",(abs(1)*Rational(1,30)*(αβ[0]-αβ[1])**5).simplify())
print("#(2B)",integrate(y-yl,(x,αβ[1],αβ[0])).simplify() )
#(1) 9*x/8 - 81/64
#(2A) 361*sqrt(19)/960
#(2B) 361*sqrt(19)/960
#
(st,en)=(-4,4)
plot(y,yl,
(x,st,en),
xlim=(st,en),ylim=(st,en),
aspect_ratio=(1.0,1.0)
)
sympyで(math karat 様の方法を参考に) 別解
・最速解法と同じに見えてきました。
from sympy import *
var('x' ,real=True)
var('m,n,',real=True)
var('α,β,',real=True)
y =x**2*(x-1)*(x+2)
yl=m*x+n
po=Poly(y-yl-(x-α)**2*(x-β)**2 ,x)
αβmn=solve([Eq( po.nth(3),0 ),
Eq( po.nth(2),0 ),
Eq( po.nth(1),0 ),
Eq( po.nth(0),0 )
],[α,β,m,n])
yl=yl.subs({ m:αβmn[0][2],n:αβmn[0][3] })
#
print("#(1) ",yl)
print("#(2A)",(abs(1)*Rational(1,30)*(αβmn[0][0]-αβmn[0][1])**5).simplify())
print("#(2B)",integrate(y-yl,(x,αβmn[0][1],αβmn[0][0]) ).simplify())
#(1) 9*x/8 - 81/64
#(2A) 361*sqrt(19)/960
#(2B) 361*sqrt(19)/960
# 作図省略
sympyで(微分で)できませんでした。
α+dx=β(dx>0)。5元連立方程式でできると思ってしまいました。
>(youtube 5:19) 微分解法で苦戦することもある。
できませんでした。言われる通りでした。
from sympy import *
var('x,α,β',real=True)
var('a,b' ,real=True)
var('dx' ,real=True,positive=True)
y =x**2*(x-1)*(x+2)
yd=diff(y)
yl=a*x+b
#
eq1=Eq(y .subs({x:α}) ,yl.subs({x:α}))
eq2=Eq(y .subs({x:β}) ,yl.subs({x:β}))
eq3=Eq(yd.subs({x:α}) ,a)
eq4=Eq(yd.subs({x:β}) ,a)
eq5=Eq(α+dx,β)
ans=solve([eq1,eq2,eq3,eq4,eq5],[α,β,a,b,dx] )
#
print("#",ans)
# 終了しませんでした。
sympyの実行環境
①私の環境は,pycharmです。
②よく聞くのは、Jupyterです。
③web上で、上記のソースを「SymPy Live shell」に、コピー貼り付けでもできました。
黒背景の右上に、マウスを移動すると、コピーマークが発生します。
??? タブレット環境で、コピー貼り付けが実行できませんでした。???
参考
以下、いつもの?おすすめです。
勉強中???
第1種オイラー積分<