2011-06-07 66 views
5

我想用Python編寫Octave函數。谷歌並沒有幫助我們找出是否有可能以某種方式在Octave中導入/包含/使用任何Python模塊,並將它們視爲本地.m函數。我看了一下Cython,它從Python創建C源代碼,但它使用Python對象作爲參數和返回類型。是否有可能在Octave中使用Python模塊?是否可以在Octave中使用Python模塊?

回答

2

不幸的是,沒有簡單的方法來做到這一點。

然而,總是可以運行Python程序並解析輸出。實際上

您可以使用函數system(cmd,flag)執行任何shell命令 。 第二個參數是可選的。如果存在 ,命令 的輸出將作爲字符串由系統返回。如果 未提供,則會打印 命令的任何輸出,而 標準輸出將通過 傳呼機進行過濾。

例如:

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 2013-02-05 16:36:44

0

存在着在Github,pyoctave,這是一個C++擴展倍頻程,並且可以調用的Python模塊的功能的項目。你必須編譯一次擴展才能創建一個oct文件,並且可以使用這個oct文件來調用Python代碼。

Code on Github

相關問題