Как мне запустить свои функции Matlab на Python?

Matlab и Python - два самых популярных языка в исследовательском сообществе в разных областях. Иногда вам может потребоваться объединить их для совместной работы. Я столкнулся с задачей, в которой мне нужно было это сделать, и подумал, что поделюсь руководством для всех, кто может быть заинтересован в этом в будущем. Оказывается, это проще, чем вы думаете. Давайте начнем:

Спецификация системы:

В вашей системе должно быть следующее:

  1. Matlab - версия R2014b или выше.
  2. Python. (Примечание: в настоящее время движок Matlab поддерживает только версии 2.x, 3.4 и 3.5. Если вы используете Python версии 3.6, вы можете либо использовать Matlab версии R2017b, которая является бета-версией, либо дождаться выхода следующей официальной версии. )

Теперь, прежде чем мы начнем процесс, нам также нужно будет узнать корневой путь Matlab в системе. Для этого запустите Matlab и затем в командном окне напишите:

matlabroot

Это даст вам результат с путем к корневой папке, в которой установлен путь Matlab. Теперь, в зависимости от используемой операционной системы, откройте командную строку / терминал и перейдите в расположение файла установки движка python, например:

cd matlabroot/extern/engines/python

Если вы перечислите файлы в этом каталоге, вы должны увидеть файл под названием ‘setup.py’. Теперь, в зависимости от установленной версии Python, вам нужно будет выполнить следующую команду:

python setup.py install

Если у вас есть python3.x, замените python на python3. Предполагая, что все идет правильно, вы должны увидеть в окне терминала вывод, подобный приведенному ниже.

После завершения установки нам пора проверить, работает ли она. В каталоге создайте функцию Matlab для генерации случайных чисел.

Этот код довольно прост, поскольку он принимает значение диапазона в качестве входных данных, генерирует случайное число от 0 до 1, а затем умножает его на входное значение, чтобы преобразовать его в диапазон 0 и данный диапазон.

Теперь создайте файл python, который вызывает эту функцию Matlab и генерирует случайное число 5 раз, а затем печатает его на консоли.

Приведенный выше код импортирует движок Matlab, запускает Matlab и назначает экземпляр переменной с именем «eng». Затем он запускает цикл и выполняет его 5 раз, каждый раз вызывая функцию Matlab для генерации случайного числа в диапазоне 0–10. Сохраните файлы, а затем снова откройте свой терминал и введите следующее:

python matlabInterface.py

Это должно успешно распечатать 5 случайных значений с помощью сценария Matlab.

Поздравляем, вы только что выполнили свою первую функцию Matlab из Python. Экспериментируйте с вновь обретенной силой !!!