支持:Windows?, Linux?, Mac
如何從 MATLAB? 函式創建 Python? 包并將生成的包集成到 Python 應用程式中,
1.確認安裝了與 MATLAB Compiler SDK? 兼容的 Python 版本,
2.最終用戶必須安裝 MATLAB Runtime 才能運行應用程式,
MATLAB Runtime 是一套獨立的共享庫,可以執行已編譯的 MATLAB 應用程式或組件,當 MATLAB、MATLAB Compiler 和 MATLAB Runtime 一起使用時,您可以快速、安全地創建和分布數值應用程式或軟體組件,
MATLAB? Runtime時在幾個重要方面與MATLAB不同:
- 在MATLAB Runtime時中,MATLAB檔案是加密和不可變的,
- MATLAB有一個桌面圖形界面,MATLAB Runtime具有所有MATLAB功能,無需圖形界面
- MATLAB Runtime市特定版本,您必須使用與創建它的MATLAB MATLAB Compiler SDK版本關聯的MATLAB Runtime版本運行應用程式,例如,如果您使用MATLAB CompilerTM的6.3(R2016b)版本編譯應用程式,未安裝MATLAB的用戶必須安裝MATLAB運行時的9.1版本,使用mcrversion回傳MATLAB運行時的版本號,
- MATLAB Runtime實體中的MATLAB路徑是固定的,無法更改,要更改它們,您必須首先在MATLAB中自定義它們
添加鏈接描述
Create Function in MATLAB
在matlab中,創建你想打包的matlab函式,例子
function makesqr(x)
y = magic(x);
disp(y)
在 MATLAB 命令提示符下,輸入 makeqr(5),
The output is a 5x5 matrix.

方法一
使用庫編譯器應用程式( Library Compiler App)創建 Python 應用程式
使用庫編譯器應用程式將函式編譯到 Python 包中,或者,如果您想使用編程方法從 MATLAB 命令視窗創建 Python 包( Create Python Package Using compiler.build.pythonPackage.)
-
在MATLAB Apps表中,在應用程式部分的最右側,單擊箭頭,在應用程式部署中,單擊庫編譯器,

-
在工具條的型別部分,點擊Python Package.
在Library Compiler app 視窗,指定要部署的 MATLAB 應用程式的檔案,
.
In the Exported Functions section of the toolstrip, 點擊
匯入函式到專案中
在 Add Files 視窗中, 瀏覽到示例檔案夾,然后選擇要打包的函式. 點擊 Open.
該函式被添加到匯出的函式檔案串列中,重復此步驟將多個檔案打包到同一個應用程式中,
-
在Packaging Options 中,通過選擇以下選項之一來決定是否在生成的應用程式中包含 MATLAB Runtime 安裝程式:
-
Runtime downloaded from web — 生成一個安裝程式,用于下載 MATLAB 運行時并將其與部署的 MATLAB 應用程式一起安裝,您可以指定安裝程式的檔案名,
-
Runtime included in package — 生成包含 MATLAB 運行時安裝程式的應用程式,您可以指定安裝程式的檔案名,
- 指定包設定
定義Python包的名字
Library Name–欄位會自動填充 makeqr 作為包的名稱,有關 Python 包命名要求的更多資訊,可以參考:添加鏈接描述
創建示例驅動程式檔案
將MATLAB檔案添加到專案中,以生成示例Python驅動程式檔案,雖然創建軟體包不需要Python驅動程式檔案,但您可以使用它們來實作Python應用程式,如“安裝和運行MATLAB生成的Python應用程式”所示,
例子:
% Sample script to demonstrate execution of function y = makesqr(x)
x = 0; % Initialize x here
y = makesqr(x);
打包應用程式
完成打包選項的選擇后,保存庫編譯器專案并生成打包的應用程式,
1.Click Package.
In the Save Project dialog box, specify the location to save the project.
2.In the Package dialog box, verify that **Open output folder when process completes **is selected.
打包程序完成后,檢查目標檔案夾中生成的輸出,
-創建3個檔案夾: for_redistribution, for_redistribution_files_only, and for_testing.
-日志檔案 PackagingLog.html 包含打包結果,
方法二
用 compiler.build.pythonPackage 創建python 包
使用以下步驟
1.保存示例檔案,名為 makesqrSample1.m:
x = 4;
a = makesqr(x);
2.用compiler.build.pythonPackage創建Python 包,使用名稱-值引數指定包名稱并添加示例檔案,
buildResults = compiler.build.pythonPackage('makesqr.m',...
'PackageName','MagicSquarePkg',...
'SampleGenerationFiles','makesqrSample1.m');
compiler.build.Results 物件 buildResults 包含有關構建型別、生成的檔案和構建選項的資訊,
3.該函式在名為MagicSquarePkgpythonPackage 的檔案夾中生成以下檔案:
-samples\makesqrSample1.py — Python sample driver file.
-GettingStarted.html — HTML file包含有關集成包的資訊,
-mccExcludedFiles.log — Log file 包含未包含在應用程式中的任何工具箱功能的串列,
-readme.txt — Text file 包含封裝和介面資訊.
-requiredMCRProducts.txt — Text file 包含 MATLAB Runtime 運行應用程式所需產品的產品 ID,
-setup.py — Python file 安裝這個包.
-unresolvedSymbols.txt — Text file 包含有關未決議符號的資訊,
安裝和運行MATLAB生成的Python應用程式
創建 Python 包后,您可以從 Python 應用程式呼叫它,本示例使用打包期間生成的示例 Python 代碼,您可以使用此示例 Python 應用程式代碼作為撰寫您自己的 Python 應用程式的指南,
1.將生成的 Python 檔案 makeqrSample1.py 從示例檔案夾復制并粘貼到包含 setup.py 檔案的檔案夾中,
2.在系統命令提示符下,導航到包含 makeqrSample1.py 和 setup.py 的檔案夾,
3.使用 python 命令安裝應用程式,
python setup.py install
4.運行應用程式,如果您在打包步驟中使用示例MATLAB代碼,此應用程式將回傳與示例代碼相同的輸出,
??在 macOS 上,您必須使用 mwpython 腳本而不是 python,例如,mwpython makeqrSample1.py,
第一次呼叫函式前,需要進行初始化以加載MATLAB Runtime
import MagicSquarePkg
a = MagicSquarePkg.initialize()
b = a.makesqr(5) # 有時要以 matlab.double([5])的方式傳參
a.terminate()
當引數數目過多時,需要加 nargout引數以指定輸出引數的個數,如
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/378659.html
標籤:其他
上一篇:力扣每日一題2021-12-08三個無重疊子陣列的最大和
下一篇:anaconda安裝CV2包
