Python ошибка «Не удается преобразовать выражение в число с плавающей запятой» - PullRequest
0 голосов
/ 18 июня 2020

Я просмотрел строки своего кода и не нашел, в чем моя ошибка. Python Показывает мне, что в моей последней строке кода произошла «ошибка типа», и я не могу преобразовать выражение в float. Я хотел поместить производные в массив и решил его для определенного значения c. Во вложении вы можете увидеть сообщение об ошибке.

import sympy
from sympy import symbols
import math
import numpy as np
# Parameters
F = 1000 # Load [N]
rho = 7.8e-6 # Density [kg/mm^3]
l = 10[enter image description here][1]00      # length [mm]
a = 750 # lever arm [mm]
Smax = 200 # maximum bending stress (MPa)

# Symbolic variables
w,h = symbols('w h', positive =True)

# objective function
m = rho*l*w*h

# constraints
S = 6*F*a/(w*h**2) #  bending stress

w_bounds = [10, 50]
h_bounds = [10, 50]
# solve constraint 
h1 = sympy.solve(S - Smax, h)

# calculate gradient (constant for linear problem)
duW = sympy.diff(m,w)
duH = sympy.diff(m,h)
duDim = np.array([duW.subs(w, 25).evalf(), duH.subs(h, 25).evalf()], dtype ='float32') 
...