Matlab---匯出exe

Ry_L發表於2017-11-28

導語

研究如何把一段程式碼打包成EXE的方式輸出,一方面是為了演算法的保密,另一方面也方便在一臺未安裝有matlab的電腦上面使用。事實上python也是有類似的匯出工具的,我們這裡先來談一談如何從matlab裡面匯出

正文

先說說我的環境吧,就win7+matlab2017a,網上說的教程真的都太複雜了,一方面是MCR的配置,另一方面又是GUI的編寫。這裡我們也致力於簡單說明配置,並使用2017a自帶的app:application compiler來實現。

配置

第一步:安裝MCR

MATLAB\R2017a\toolbox\compiler\deploy\win64

在上面這個資料夾中可以找到一個叫做MCRInstaller.exe的程式,雙擊之後安裝到預設位置即可。

第二步:準備m檔案
在matlab命令列中輸入guide,然後選擇default的那個選項,就會出現
這裡寫圖片描述
這樣子影像,然後你就自己像其中新增一些按鈕呀之類的操作咯~

我們這裡為了方便,就新增一個按鈕,並取名為exit
這裡寫圖片描述
然後點選儲存即可儲存在matlab當前的資料夾之中。儲存好之後會自動彈出一個EXIT.m的檔案,在其中可以找到我們這個button的動作,因為我們要實現點選這個按鈕之後就關閉該視窗,故我們在

function pushbutton1_Callback(hObject, eventdata, handles)

新增一個動作:

close(gcf)

儲存即可,然後我們的m檔案就算準備完畢了。事實上如果我們執行這段程式碼即可看見

但現在我們要把這個在matlab中執行的工作變成一個exe可以隨時傳送給別人然後開啟執行。

打包成exe

點選matlab上面選項卡中的app,選中application compiler之後就會出現這樣的介面:
這裡寫圖片描述]![這裡寫圖片描述

然後點選上面的+號,選中我們剛才建立的EXIT.m檔案,然後runtime這個東西(其實我們已經安裝好了,所以選什麼都無所謂吧),最後點選Package就可以對這個m檔案進行打包操作了(一開始是儲存為專案的格式)。

這裡寫圖片描述

大家稍等一下,然後開啟資料夾,就會看見這樣三個資料夾
這裡寫圖片描述

然後經過嘗試,我發現,點選testing中的exe可以,點選for_redistribution_files_only中的exe也可以執行,
而且如果點選第一個選項好像是會執行一個runtime的安裝,應該可以方便在新的電腦上安裝之後來執行。

一些選項的辨析

在appliction compiler這個應用中,最下面有一個aditional runtime settings
再其中有一個do not display“`
這裡寫圖片描述

我們將它前面的√去掉,然後我寫了一個一個非常簡單的:

pi

我們知道如果直接在matlab裡面執行會直接輸出3.1416

那麼現在我們看看能不能把這個東西給打包,同樣是和之前類似的操作,我們最後得到了3資料夾,開啟其中testing的資料夾中的exe檔案:

這裡寫圖片描述

哇,這的可以這樣輸出欸,但是遺憾的是,它自動輸出一會兒之後就自動退出了。有沒有辦法,可以讓命令視窗不自動退出呢?emmm這個就等大家自己去探索吧~

相關文章