2011-06-07 4 views
5

Я хочу написать функции для Octave с помощью Python. Google не помог в выяснении, можно ли каким-либо образом импортировать/включать/все модули Python в Octave и называть их так, как если бы они были встроенными функциями .m. Я посмотрел на Cython, который создает исходный код C из Python, но использует объекты Python в качестве аргументов и возвращаемых типов. Можно ли использовать модули Python в Octave?Можно ли использовать модули Python в Octave?

ответ

2

К сожалению, нет простого способа сделать это.

Тем не менее, всегда можно запускать программу Python и анализировать выходные данные. Фактически

Вы можете выполнить любую команду оболочки с использованием функциональной системы (cmd, flag). Второй аргумент не является обязательным. Если присутствует , то вывод команды возвращается системой как строка. Если не прилагается, любой выход от печатается командой, а стандартный выходной сигнал фильтруется через пейджер .

Например:

output = system ("python /home/user/some_algoritmh.py", 1) 
+0

Отсюда: http://www.mathworks.com/help/matlab/ref/dos.html Кажется 'dos' команды работает почти так же, но делать что-то вроде' [статус , result] = dos (command) 'будет хранить результат системной команды во второй переменной, а не просто бесполезный« 0 = нет ошибок ». – PhilMacKay

0

Там существует проект по Github, pyoctave, который является C++ расширение Октава и которые могут вызывать функции модулей Python. Вы должны скомпилировать расширение один раз для создания oct-файла и можете использовать этот oct-файл для вызова кода Python.

Code on Github

Смежные вопросы