Как я могу решить эту проблему при использовании fsolve
Я пытаюсь решить нелинейное уравнение системы. (Я новичок в питоне, пожалуйста, поймите меня)
Но у меня есть сообщение об ошибке, например, объект "кортеж" не может быть сопоставлен.
На самом деле я не знаю, почему возникает ошибка.
Есть кто-нибудь, кто сможет решить эту проблему.
введите описание изображения здесь
from scipy. optimize import fsolve
import math
import numpy as np
global e1
global e2
global e3
global e4
global e5
global e6
x,y,l = symbols('x,y,l')
b_1, b_2, b_3, b_4, b_5, b_6 = symbols ('b_1,b_2,b_3,b_4,b_5,b_6')
[введите числовые данные]
h = 0.00164 # Thickness
b = 0.482 # Widthness
E = 54*10**9 # Young's modulus
v = 0.275 # Poisson's ratio
D = (E*h**3)/(12*(1-v**2)) # Flexture stiffness
pi = math.pi
f = b_1 + b_2*(y/b)**2+b_3*(y/b)**4+b_4*(y/b)**6+b_5*(y/b)**8+b_6*(y/b)**10
f.evalf()
W = f * l
a = -(pi**2*l/8/b)*integrate(f**2,(y,0,b))
n_0 = -17729.9180633505-744598.8728026071*(y/b)**2-5816377.496972337*(y/b)**4+157250896.034857*(y/b)**6-888224962.8151401*(y/b)**8+2226866211.639815*(y/b)**10-2401194887.141261*(y/b)**12-357360082.422342*(y/b)**14+3514559472.952722*(y/b)**16-3209340730.073708*(y/b)**18+964295024.1194103*(y/b)**20;
s_0 = n_0/h
s_x = s_0 + E*(2*a/l) + E*(1/4*f**2*pi**2)
F = h * integrate(s_x,(y,0,b))
K1 = integrate(f**2,(y,0,b))
K2 = integrate((diff(f,y,2))**2,(y,0,b))
K3 = integrate(f**4,(y,0,b))
K4 = integrate((s_x/E)*(f)**2,(y,0,b))
K5 = integrate((diff(f,y))**2,(y,0,b))
K6 = integrate(f*(diff(f,y,2)),(y,0,b))
J1 = integrate(s_x/E,(y,0,b))
J2 = integrate((s_x/E)**2,(y,0,b))
U = (E*h/32)*(pi**4*K3+8*pi**2*K4+16*J2-pi**4/b*K1**2-8*pi**2/b*K1*J1)+pi**2/2*D*((K1*K2)**0.5+(1-v)*K5-v*K6)+F/(4*b)*pi**2*K1
[Функции определения eq1 ~ eq6]
def functions(b_1,b_2,b_3,b_4,b_5,b_6):
global eq1
global eq2
global eq3
global eq4
global eq5
global eq6
eq1 = diff(U,b_1)
eq2 = diff(U,b_2)
eq3 = diff(U,b_3)
eq4 = diff(U,b_4)
eq5 = diff(U,b_5)
eq6 = diff(U,b_6)
return (eq1,eq2,eq3,eq4,eq5,eq6)
[Fsolve]
functions(b_1,b_2,b_3,b_4,b_5,b_6)
x0 = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
solutions = fsolve(functions(b_1,b_2,b_3,b_4,b_5,b_6),x0)