问题描述
我已经查看了此处提供的多个答案以及scipy文档,但无法解决我的问题。
我试图找到方程式的根,每次出现不同的错误。
def func(x):
return [sgr*(np.exp(-q*(x/p1)**(1/p2))+np.exp(-alpha*(x/p1)**(1/p2))
-np.exp(-(q+alpha)*(x/p1)**(1/p2)))
+sveg*(1-np.exp(-q*(x/p1)**(1/p2)))-sfor]
initialGuess=[0]
root = fsolve(func,initialGuess)
def func(arguments):
x1 = arguments[0]
x2 = arguments[1]
x3 = arguments[0]
x4 = arguments[1]
return [sgr*(np.exp(-q*(x1/p1)**(1/p2))+np.exp(-alpha*(x2/p1)**(1/p2))
-np.exp(-(q+alpha)*(x3/p1)**(1/p2)))
+sveg*(1-np.exp(-q*(x4/p1)**(1/p2)))-sfor]
initialGuess=np.array([0,0])
root = fsolve(func,initialGuess)
给出“形状应为(4,),但应为(1,)”
和
def func(arguments):
x1 = arguments[0]
x2 = arguments[1]
x3 = arguments[0]
x4 = arguments[1]
return [sgr*(np.exp(-q*(x1/p1)**(1/p2))+np.exp(-alpha*(x2/p1)**(1/p2))
-np.exp(-(q+alpha)*(x3/p1)**(1/p2)))
+sveg*(1-np.exp(-q*(x4/p1)**(1/p2)))-sfor]
initialGuess=np.array([0,0])
root = root(func,initialGuess,method='lm')
给出“输入错误:N = 4不能超过M = 1”
有人可以协助吗?
所有其他变量都已定义。
解决方法
对于其他为此苦苦挣扎的人,一位同事提议将所有变量包含在要求解的方程式中,并且奏效了。
[
{
"id": "5fa1bad3d054121ce66727c7","seriesId": "1","buildingName": "testBuilding","value": 3,"timestamp": "2020-01-01T01:00:00+01:00"
},{
"id": "5fa1bad3d054121ce66727c8","value": 2,"timestamp": "2020-01-01T02:00:00+01:00"
},{
"id": "5fa1bad3d054121ce66727c9","value": 1,"timestamp": "2020-01-01T03:00:00+01:00"
},{
"id": "5fa1bad3d054121ce66727ca","value": 0,"timestamp": "2020-01-01T04:00:00+01:00"
}
]