Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将GEKKO解决方案转换为浮点_Python_Numeric_Differential Equations_Gekko - Fatal编程技术网

Python 如何将GEKKO解决方案转换为浮点

Python 如何将GEKKO解决方案转换为浮点,python,numeric,differential-equations,gekko,Python,Numeric,Differential Equations,Gekko,我用GEKKO来解一个非线性微分方程组。它能够解方程并给出解,但是解似乎保存在一些GEKKO对象类型的格式中,称为“class'GEKKO.gk_operators.gk_Value'” 我有没有办法把它转换成浮点数?我需要操纵这些值来找到它们的平均值 这是我的密码 from gekko import GEKKO DELTA=1 OMEGA=0 GAMMA=1 J=3 m = GEKKO() SZ1, SZ2, SZ3, SX1, SX2, SX3, SY1, SY2, SY3 = [m.Var

我用GEKKO来解一个非线性微分方程组。它能够解方程并给出解,但是解似乎保存在一些GEKKO对象类型的格式中,称为“class'GEKKO.gk_operators.gk_Value'”

我有没有办法把它转换成浮点数?我需要操纵这些值来找到它们的平均值

这是我的密码

from gekko import GEKKO
DELTA=1
OMEGA=0
GAMMA=1
J=3
m = GEKKO()
SZ1, SZ2, SZ3, SX1, SX2, SX3, SY1, SY2, SY3 = [m.Var(value=0) for i in range(9)]
m.Equations([4*J*(SX2*SY1-SX1*SY2)-GAMMA*(1+SZ1)+2*OMEGA*SY1==0,
         2*J*(-2*SX2*SY1+2*SX1*SY2+2*SX3*SY2-2*SX2*SY3)-GAMMA*(1+SZ2)+2*OMEGA*SY2==0,
         2*J*(-2*SX3*SY2+2*SX2*SY3)-GAMMA*(1+SZ3)+2*OMEGA*SY3==0,
         J*SY2*SZ1-0.5*GAMMA*SX1-DELTA*SY1==0,
         2*J*SY1*SZ2-2*J*SY3*SZ2-0.5*GAMMA*SX2-DELTA*SY2==0,
         J*SY2*SZ3-0.5*GAMMA*SX3-DELTA*SY3==0,
         J*SX2*SZ1+0.5*GAMMA*SY1-DELTA*SX1+2*OMEGA*SZ1==0,
         2*J*SX1*SZ2-2*J*SX3*SZ2+0.5*GAMMA*SY2-DELTA*SX2+2*OMEGA*SZ2==0,
         J*SX2*SZ3+0.5*GAMMA*SY3-DELTA*SX3+2*OMEGA*SZ3==0])
m.solve(disp=True)
print([SZ1.value, SZ2.value, SZ3.value])    
ans=(SZ1.value+SZ2.value+SZ3.value)/3
print(ans)

我是否可以将SZ1、SZ2和SZ3转换为浮点值?

打印SZ1.value可提供以下输出:

[-1.0]
看起来像是python列表

因此,您的代码:

SZ1.value+SZ2.value+SZ3.value
只是连接了三个列表。 如果要获取浮点值,可以使用:

SZ1.value[0]
将代码更改为:

ans=(SZ1.value[0]+SZ2.value[0]+SZ3.value[0])/3
应该给出期望的结果


GK_值是python列表的参考:

在这个“非线性微分方程系统”中,导数在哪里?