#python #matlab #gekko
Вопрос:
У меня есть моя проблема, смоделированная в среде Matlab с файлом сценария и соответствующим файлом функций для того же самого. Мне нужно использовать их в GEKKO python. Есть ли способ экспортировать эти файлы matlab непосредственно в среду GEKKO?
Ответ №1:
Есть несколько способов помочь с преобразованием.
- Используйте переводчик кода, такой как SMOP (компилятор Small Matlab и Octave для Python).
- Вызовите Python Gekko из MATLAB. Ниже приведен пример вызова Python из MATLAB.
Питон
from gekko import GEKKO
# Initialize Model
m = GEKKO()
# Initialize Variables
x = m.Var() # define new variable
y = m.Var() # default=0
# Define Equations
m.Equation(3*x 2*y==1)
m.Equation(x 2*y==0)
# Solve
m.solve()
# Print solution
print('x: ' str(x.value[0]))
print('y: ' str(y.value[0]))
MATLAB
% start Matlab from Anaconda prompt
close all; clear;
% Solve linear equations
% Initialize Model
m = py.gekko.GEKKO();
% Initialize Variables
x = m.Var(); % define new variable
y = m.Var(); % default=0
% Define Equations
m.Equation(3*x 2*y==1);
m.Equation(x 2*y==0);
% Solve
m.solve();
% Extract values from Python lists using curly brackets
disp(['x: ' num2str(x.VALUE{1})]);
disp(['y: ' num2str(y.VALUE{1})]);
Кроме этого, нет никаких инструментов автоматического перевода с MATLAB на Python Gekko. Эти учебники по оптимизации с той же проблемой в MATLAB и Python могут помочь.