如何使功能在numpy中优化?

时间:2017-11-19 16:48:07

标签: python numpy

我遇到一个问题,告诉我它无法转换为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它没有用。

如何解决此问题?

1 个答案:

答案 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))))