Может ли кто-нибудь дать мне представление о том, как вызвать функцию Matlab
из скрипта python
с помощью pymatlab
?
Matlab
, pymatlab
и python
уже установлены правильно. Я попытался запустить некоторые команды Matlab
отсюда на скрипте python
и все работает нормально. Но я не имею понятия о вызове функции Matlab
из python
.
Например, у меня есть функция Matlab
которая получит string
качестве argument
и отобразит ее и вернет ее, как показано ниже.
function [ name ] = print_Name(first_Name)
name=first_Name;
end
Заранее благодарю за ваше любезное предложение.
Сначала необходимо инициализировать сеанс MATLAB
import pymatlab
session = pymatlab.session_factory()
Затем вы можете использовать метод run
для вызова любой функции MATLAB, которую вы хотите
session.run("print_Name('name')")
Или вы можете назначить значение в рабочей области и использовать это
name = 'My Name'
session.putValue('name', name)
session.run('print_Name(name)')
Если вы хотите вернуть значение, вы всегда можете назначить вывод print_Name
переменной и вызвать session.getValue
чтобы вернуть его в Python
session.run('output = print_Name(name)')
result = session.getValue('output')
При этом я настоятельно рекомендую использовать собственную библиотеку Mathwork для взаимодействия с MATLAB с Python.
session.run('print_Name(name)')
может вызывать эту функцию. Но как взять возвращенную строку в переменную в скриптеpython
?