Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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_Gekko - Fatal编程技术网

Python 在GEKKO中设置动态模拟和稳态结果的初始值

Python 在GEKKO中设置动态模拟和稳态结果的初始值,python,gekko,Python,Gekko,我正在用“IMODE=4”进行动态模拟。我想知道GEKKO中是否有一个选项可以将稳态模拟结果设置为“IMODE=1”作为动态模拟的初始值 或者,在单独运行动态模拟之前,我是否需要运行稳态模拟并设置值?Gekko会自动使用IMODE=1(SS)或3(RTO)的稳态模拟中的值来给出初始值,如其他模式的初始条件。它是这样设计的,以便在启动动态模式(如仿真、移动地平线估计或模型预测控制)之前,可以使用稳态解决方案初始化模型() 下面是一个演示初始化的简单示例脚本 从gekko导入gekko m=GEK

我正在用“IMODE=4”进行动态模拟。我想知道GEKKO中是否有一个选项可以将稳态模拟结果设置为“IMODE=1”作为动态模拟的初始值


或者,在单独运行动态模拟之前,我是否需要运行稳态模拟并设置值?

Gekko会自动使用IMODE=1(SS)或3(RTO)的稳态模拟中的值来给出初始值,如其他模式的初始条件。它是这样设计的,以便在启动动态模式(如仿真、移动地平线估计或模型预测控制)之前,可以使用稳态解决方案初始化模型()

下面是一个演示初始化的简单示例脚本

从gekko导入gekko
m=GEKKO()
p=m.Param(5)
x=m.Var(3)
m、 方程(p==x.dt()+x)
#稳态(SS)模拟
m、 选项。IMODE=1
m、 求解(disp=False)
打印(x.value)
#用SS解初始化动态仿真
m、 时间=[0,1,2,3,4]
p、 值=4
m、 选项。IMODE=4
m、 求解(disp=False)
打印(x.value)
默认值为
x=3
。稳态模拟用
p=5
求解,从稳态方程
5=0+x
得出
x=5
。然后,动态模拟使用方程
4=dx/dt+x
求解ODE,以给出
[5.0,4.5,4.25,4.125,4.0625]
在请求的
[0,1,2,3,4]
时间点的解。请注意,初始条件是
5
,而不是
3
,因为动态模拟是从稳态解初始化的