如何从 Matlab 正确调用 GEKKO
How to call GEKKO correctly from Matlab
我找到了一个从 Matlab 调用 python 的函数。因此,我尝试使用此函数从 Matlab 调用 GEKKO 包来求解 ODE。我在将 gekko 选项 (remote=true) 定义为函数或变量时遇到错误。
我用 Anaconda Prompt 打开了 Matlab。
m = py.gekko.GEKKO(remote==True);
m.time = py.numpy.linspace(0,20,100);
k = 10;
y = m.Var(5.0);
t = m.Param(m.time);
m.Equation(k*y.dt()==-t*y);
m.options.IMODE = 4;
m.solve(disp==True)
time = cellfun(@double,cell(m.time.tolist()));
y = cellfun(@double,cell(y.VALUE.value));
plot(time,y)
xlabel('Time')
ylabel('y')
错误信息
未定义函数或变量 'remote'.
ODE_gekko_matlab 中的错误(第 5 行)
m = py.gekko.GEKKO(远程==真); % 在本地机器上解决
查看此 link 了解如何在 Matlab 中使用 pyargs。
尝试使用 m = py.gekko.GEKKO(pyargs('remote' , 'True'));
m = py.gekko.GEKKO(pyargs('remote' , 'True'));
m.time = py.numpy.linspace(0,20,100);
k = 10;
y = m.Var(5.0);
t = m.Param(m.time);
m.Equation(k*y.dt()==-t*y);
m.options.IMODE = 4;
m.solve(disp==True)
time = cellfun(@double,cell(m.time.tolist()));
y = cellfun(@double,cell(y.VALUE.value));
plot(time,y)
xlabel('Time')
ylabel('y')
我找到了一个从 Matlab 调用 python 的函数。因此,我尝试使用此函数从 Matlab 调用 GEKKO 包来求解 ODE。我在将 gekko 选项 (remote=true) 定义为函数或变量时遇到错误。
我用 Anaconda Prompt 打开了 Matlab。
m = py.gekko.GEKKO(remote==True);
m.time = py.numpy.linspace(0,20,100);
k = 10;
y = m.Var(5.0);
t = m.Param(m.time);
m.Equation(k*y.dt()==-t*y);
m.options.IMODE = 4;
m.solve(disp==True)
time = cellfun(@double,cell(m.time.tolist()));
y = cellfun(@double,cell(y.VALUE.value));
plot(time,y)
xlabel('Time')
ylabel('y')
错误信息 未定义函数或变量 'remote'.
ODE_gekko_matlab 中的错误(第 5 行) m = py.gekko.GEKKO(远程==真); % 在本地机器上解决
查看此 link 了解如何在 Matlab 中使用 pyargs。 尝试使用 m = py.gekko.GEKKO(pyargs('remote' , 'True'));
m = py.gekko.GEKKO(pyargs('remote' , 'True'));
m.time = py.numpy.linspace(0,20,100);
k = 10;
y = m.Var(5.0);
t = m.Param(m.time);
m.Equation(k*y.dt()==-t*y);
m.options.IMODE = 4;
m.solve(disp==True)
time = cellfun(@double,cell(m.time.tolist()));
y = cellfun(@double,cell(y.VALUE.value));
plot(time,y)
xlabel('Time')
ylabel('y')