Вызов функции Matlab из скрипта Python с использованием pymatlab

1

Может ли кто-нибудь дать мне представление о том, как вызвать функцию Matlab из скрипта python с помощью pymatlab?

Matlab, pymatlab и python уже установлены правильно. Я попытался запустить некоторые команды Matlab отсюда на скрипте python и все работает нормально. Но я не имею понятия о вызове функции Matlab из python.

Например, у меня есть функция Matlab которая получит string качестве argument и отобразит ее и вернет ее, как показано ниже.

function [ name ] = print_Name(first_Name)
name=first_Name;
end

Заранее благодарю за ваше любезное предложение.

Теги:

1 ответ

1
Лучший ответ

Сначала необходимо инициализировать сеанс 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.

  • 0
    Спасибо @Suever за ваш ответ. session.run('print_Name(name)') может вызывать эту функцию. Но как взять возвращенную строку в переменную в скрипте python ?
  • 0
    @Sanakum Смотрите обновленный ответ
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню