Вызовите функцию Python от MATLAB

Это - скомпилированный код, необходимо будет использовать декомпилятор как JAD: http://www.kpdus.com/jad.html

66
задан Peter Mortensen 5 February 2014 в 18:47
поделиться

3 ответа

I had a similar requirement on my system and this was my solution:

In MATLAB there is a function called perl.m, which allows you to call perl scripts from MATLAB. Depending on which version you are using it will be located somewhere like

C:\Program Files\MATLAB\R2008a\toolbox\matlab\general\perl.m

Create a copy called python.m, a quick search and replace of perl with python, double check the command path it sets up to point to your installation of python. You should now be able to run python scripts from MATLAB.

Example

A simple squared function in python saved as "sqd.py", naturally if I was doing this properly I'd have a few checks in testing input arguments, valid numbers etc.

import sys

def squared(x):
    y = x * x
    return y

if __name__ == '__main__':
    x = float(sys.argv[1])
    sys.stdout.write(str(squared(x)))

Then in MATLAB

>> r=python('sqd.py','3.5')
r =
12.25
>> r=python('sqd.py','5')
r =
25.0
>>
43
ответ дан 24 November 2019 в 14:58
поделиться

Вы можете встроить свой скрипт Python в программу C , а затем MEX программу C с MATLAB , но это может быть много работы по сравнению с дампом результаты в файл.

Вы можете вызывать функции MATLAB в Python, используя PyMat . Кроме того, SciPy имеет несколько дублирующих функций MATLAB.

Но если вам нужно запустить сценарии Python из MATLAB, вы можете попробовать запустить команды system , чтобы запустить сценарий и сохранить приводит к созданию файла и считывает его позже в MATLAB.

12
ответ дан 24 November 2019 в 14:58
поделиться

Поскольку Python - лучший связующий язык, может быть проще вызвать часть MATLAB вашей программы из Python, а не наоборот.

Обратите внимание на Mlabwrap .

0
ответ дан 24 November 2019 в 14:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: