0
なぜ正しく計算されないのですか? 正しい解はc = 25.672、b2 = 10.24です。 ここでソルバは入力値を返します。 助けてくれてありがとう!2つの複素方程式のnumpyにおける非線形根の発見
from numpy import *
from scipy.optimize import *
#UNITS:
psi = 6895.
ft=0.3048
inch=0.0254
psisqin=psi*sqrt(inch)
#DATA:
K_Ict=1500.*psisqin
K_Icb=1700.*psisqin
sigma_2=6700.*psi
sigma_1=6000.*psi
sigma_3=7200.*psi
hp=105.*ft
P = 6500*psi
def f(p):
b2,c= p
F1 = sqrt(pi*c)*(K_Icb-K_Ict)/2 - ((sigma_2-sigma_1)*sqrt(c**2-b2**2) - (sigma_3-sigma_1)*sqrt(c**2-(hp-b2)**2))
F2 = sqrt(pi)*(K_Icb+K_Ict)/(2*sqrt(c)) - ((sigma_2-sigma_1)*arcsin(b2/c) + (sigma_3-sigma_1)*arcsin((hp-b2)/c) - (sigma_2+sigma_3-2*P)*pi/2)
return (F1,F2)
b2, c = fsolve(f,(16.002,30))
print b2, c