matlab調用python整理(1):調用.py文件
一個圖像處理項目前面都是用是matlab代碼實現的,後面用到了多重網格函數,我們知道python有集成的庫函數可以直接調用,但matlab必須自己寫,為了減少不必要的錯誤,肯定是庫函數比較保險(不能說自己懶),所以需要matlab調用python自定義函數。
首先,有人給出實例Matlab調用.py文件 - CSDN博客:
下面的例子闡明了如何通過使用Python模塊來調用python的方法,其中模塊中包含著下面的例子中所使用的函數。
這個例子解釋了如何在MATLAB中創建模塊。如果你使用Python的文本編輯器來編寫mymod.py,首先要確保這個模塊處理python搜索路徑中。
首先在MATLAB的Editor中創建一個文件,複製如下的命令並把這個文件保存為mymod.py。
# mymod.py"""Python module demonstrates passing MATLAB types to Python functions"""def search(words): """Return list of words containing son""" newlist = [w for w in words if son in w] return newlistdef theend(words): """Append The End to list of words""" words.append(The End) return words
在MATLAB的命令提示行中,輸入以下命令,來添加當前目錄到Python搜索路徑中。
if count(py.sys.path,) == 0 insert(py.sys.path,int32(0),);endCreate an input argument, a list of names, in MATLAB.N = py.list({Jones,Johnson,James});
在調用search函數時,在模塊名字和函數名字前面鍵入「py.」。
names = py.mymod.search(N);
其中,names中保存有py.list類型的值。原先的輸入N是沒有變化的。
如果之前在matlab上沒有調用過python代碼,可以跑上面的示例試一下。
如果出現Undefined variable "py" or function "py.command
"錯誤,可以對照Undefined variable "py" or function "py.command"複查。http://cn.mathworks.com/help/matlab/matlab_external/undefined-variable-py-or-function-py-command.html#buialof-68
推薦閱讀:
※即將出版!《數學建模與數學實驗》書稿目錄
※有沒有地理信息可視化的繪圖軟體?
※學術論文中用什麼軟體可以繪製這樣的圖?
※matlab畫圖坐標軸標註問題,畫紅圈的地方應該怎麼畫?
※MATLAB更換界面顏色主題
TAG:MATLAB |