我遇到一个问题,告诉我它无法转换为float
。
我从上面的操作中获取了此函数,并将其称为func0
:
func0 = -2.59132902231451 * j ** 1.0
- 2.36920574650032 * j ** 2.0
+ 0.809974823421635 * j ** 3.0
+ 4.22334771487835
我想使用optimize
来解决非线性系统:
def sol(g):
kt1, j = g
return (kt1 - func0, kt1 - T * j ** 2 / (1.025 * D ** 2 * VA ** 2))
kt1, j = optimize.fsolve(equations, (0.01, 0.9))
错误:
函数调用的结果不是正确的浮点数组。
奇怪的是,如果我采用整个公式,它是有效的。但是func0
它没有用。
如何解决此问题?
答案 0 :(得分:0)
from numpy import array
j = 1
func0 = -2.59132902231451 * j ** 1.0 - 2.36920574650032 * j ** 2.0 + 0.809974823421635 * j ** 3.0 + 4.22334771487835
D=1
VA = 1
T=1
def sol(g):
kt1, j = g
return (kt1 - func0, kt1 - T * j ** 2 / (1.025 * D ** 2 * VA ** 2))
print(array(sol((1,1))))