Как мне запустить свои функции Matlab на Python?
Matlab и Python - два самых популярных языка в исследовательском сообществе в разных областях. Иногда вам может потребоваться объединить их для совместной работы. Я столкнулся с задачей, в которой мне нужно было это сделать, и подумал, что поделюсь руководством для всех, кто может быть заинтересован в этом в будущем. Оказывается, это проще, чем вы думаете. Давайте начнем:
Спецификация системы:
В вашей системе должно быть следующее:
- Matlab - версия R2014b или выше.
- 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. Экспериментируйте с вновь обретенной силой !!!