オリジナル
基本例題6.12 P164 (pdf)<「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy
???タブレット等で、pdfを開く事ができないかも。???
(???途中です)sympyで
・ver0.1
# ver0.1
# 基本例題6.12 P164
# from sympy import *
# var('EI,P1,P2,a,b,x')
# var('MA,RA,θA,vA,l')
# MAB_str="MA+RA*x" #;print("#",MAB_str)
# MBC_str=MAB_str+"-P1*(x-a) " #;print("#",MBC_str)
# MAB=sympify(MAB_str)
# MBC=sympify(MBC_str)
# θAB=-1/EI*(integrate(MAB,x) )+θA ;print("#",θAB)
# vAB=-1/EI*(integrate(MAB,x,x))+θA*x+vA ;print("#",vAB)
# θBC=-1/EI*(integrate(MBC,x) ) ;print("#",θBC.factor())
# vBC=-1/EI*(integrate(MBC,x,x)) ;print("#",vBC.factor())
# repC={x:l,RA:P1+P2,MA:-P1*a-P2*l}
# θC=θBC.subs(repC).simplify() ;θC_numer=(numer(θC) ).expand() ;θC_denom=denom(θC)
# vC=vBC.subs(repC).simplify() ;vC_numer=(numer(θC)*2).expand() ;vC_denom=denom(vC)*2
# #
# print("#",θC_numer,θC_denom)
# print("#",vC_numer,vC_denom)
sympyで。モーメントのつりあいより
微分方程式の直接解法で
・ver0.2
# 基本例題6.12 P164
# ver0.2
from sympy import *
var('EI,P1,P2,a,b,x')
var('C0,C1,C2,C3')
M01_str="-(P1*(a-x)+P2*(a+b-x))" #;print("#",M01_str)
M12_str= "-P2*(a+b-x) " #;print("#",M12_str)
M01=sympify(M01_str)
M12=sympify(M12_str)
v01=integrate(M01,x,x)+C0*x+C1 #;print("#",v01)
v12=integrate(M12,x,x)+C2*x+C3 #;print("#",v12)
rep0={x:0}
repa={x:a}
sol=solve([Eq( v01 .subs(rep0),0),
Eq(diff(v01,x).subs(rep0),0),
Eq( v01 .subs(repa), v12 .subs(repa)),
Eq(diff(v01,x).subs(repa),diff(v12,x).subs(repa))],
[C0,C1,C2,C3]) #;print("#",sol)
rep={C0:sol[C0],C1:sol[C1],C2:sol[C2],C3:sol[C3]}
v01=collect(v01.subs(rep).expand(),[P1,P2]) ;print("#",v01)
v12=collect(v12.subs(rep),[P1,P2]) ;print("#",v12)
# P1*(-a*x**2/2 + x**3/6) + P2*(-a*x**2/2 - b*x**2/2 + x**3/6)
# P1*(a**3/6 - a**2*x/2) + P2*(x**3/6 + x**2*(-a/2 - b/2))
申し訳ありません。作図は適当にしました。sympyのBeamで。