Я хотел бы вызвать функцию Matlab ode45 из python, так же как функция MATLAB isprime () вызывается в следующем коде Python
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
, но я не знаю, как реализовать код в Python,Я попытался
import matlab.engine
def dydt(t,y):
dydt= 2*y
return dydt
eng = matlab.engine.start_matlab()
T,Y=eng.ode45(dydt,[0, 20],[2, 0])
и он вернул:
строка 73, в вызов out = _stdout, err = _stderr)
TypeError: неподдерживаемый тип данных Python: function.
Я уже установил API-интерфейс MATLAB Engine для Python по следующей ссылке https://www.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html и успешно протестировал его, используя примеры в следующемссылка https://www.mathworks.com/help/matlab/matlab_external/call-matlab-functions-from-python.html.
Я нашел следующий поток, который мог бы иметь отношение Имитировать функцию ode45 из MATLAB в Python , но из того, что я вижу, они просто использовали библиотеки python для решения ODE и не вызывали ODE45 в MATLABиз питона. Может быть, я просто не понимаю это правильно.
Может ли кто-нибудь помочь мне добиться прогресса в этом вопросе? Спасибо!