Как я могу решить эту проблему при использовании 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)

0 ответов

Другие вопросы по тегам