㈠ MATLAB中M文件的編寫與調試的過程是什麼
1. 安裝編譯器:選擇合適的編譯器進行安裝,如VC++6.0。
2. 設置編譯器:在MATLAB命令行中輸入mbuild –setup以及mex –setup,選擇安裝的C編譯器。
3. 調用編譯器:使用MATLAB的GUI平台deploytool實現完全調用。也可以使用mcc -m filaname命令,其中filaname是要轉換成exe的m文件。
4. 安裝MCRInstaller:安裝matlab path\toolbox\compiler\deploy\win32目錄下的MCRInstaller。
5. 參數傳遞:在M文件中處理參數傳遞,例如將數值轉換為字元串。
MATLAB產品族可應用於以下領域:
- 數值分析
- 數值和符號計算
- 工程與科學繪圖
- 控制系統的設計與模擬
- 數字圖像處理技術
- 數字信號處理技術
- 通信系統設計與模擬
- 財務與金融工程
MATLAB的優勢:
1. 友好的工作平台和編程環境:MATLAB提供了一系列工具,方便用戶使用MATLAB的函數和文件,包括MATLAB桌面、命令窗口、編輯器和調試器等。
2. 簡單易用的程序語言:Matlab是一種高級的矩陣/陣列語言,包含控制語句、函數、數據結構等,易於使用。
3. 強大的科學計算機數據處理能力:MATLAB包含大量計算演算法,方便實現各種計算功能。
4. 出色的圖形處理功能:MATLAB具有方便的數據可視化功能,可以繪制和處理二維和三維圖形。
5. 應用廣泛的模塊集合工具箱:MATLAB開發了針對不同領域的工具箱,方便用戶學習和應用。
6. 實用的程序介面和發布平台:MATLAB允許將自己的程序轉換為獨立於MATLAB的C和C++代碼,支持與外部應用程序的交互。
7. 應用軟體開發(包括用戶界面):MATLAB提供了豐富的功能,方便用戶進行軟體開發和界面設計。
㈡ windows64 matlab 環境下 gcc編譯問題
你是要編譯mex對吧?應該在matlab的命令行里調用mex來實現啊。。
matlab的那幾個dll應該是給windows准備的,而且是運行時使用,編譯的時候應該用lib。更gcc下面好像根本就沒有dll這種格式
我用過linux下的matlab,人家也不會生成mexw64這種格式,而是mexa64.
總之,感覺你這就是在給自己找麻煩。。什麼環境應該用什麼編譯器,VS好好的幹嘛不用。。
㈢ matlab編譯時怎麼添加
這里有個例子。
今天費了好大的勁終於將SVM_SteveGunn添加至我的matlab工具箱內,並且已能成功運行,現在把在添加以及運行中出現的各種問題羅列如下,並一一解決:
1、將下載的svm工具箱添加至matlab安裝目錄下
1、單獨下載的工具箱
2、把新的工具箱拷貝到某個目錄(我的是D:\soft\matlab2011b\toolbox)。
注意:你要是添加的很多個m文件,那就把這些m文件直接拷到再下一層你想要的工具箱的文件夾里
例如,我要添加的是支持向量機工具箱,在剛才的文件夾下我已經有svm(支持向量機工具箱)文件夾了,但有的m文件還沒有,我就把新的m文件統統拷到D:\soft\matlab2011b\toolbox \svm目錄下了。如果你連某工具箱(你打算添加的)的文件夾都沒有,那就把文件夾和文件一起拷到D:\soft\matlab2011b\toolbox 下。
先把工具箱保存到MATLAB安裝目錄的根目錄下面,然後運行matlab---->file---->set path---->add folder 然後把你的工具箱文件夾添加進去就可以了
3、在matlab的菜單file下面的set path把它( D:\soft\matlab2011b\toolbox \svm )加上。
4、 把路徑加進去後在file→Preferences→General的Toolbox Path Caching里點擊update Toolbox Path Cache更新一下。
記得一定要更新!我就是沒更新,所以添加了路徑,一運行還是不行。後來更新了才行。
㈣ 如何將MATLAB程序編譯成獨立可執行的程序
只是不同版本的Matlab,其編譯器的使用方法有一定的差異,這一點要引起一定的注意。
在確定安裝好Matlab Compiler後,還需要對Compiler進行適當的配置,方法是在Matlab命令窗口輸入:
Mbuild –setup
然
後根據提示執行相應的操作,使用者可根據自己計算機中現有編譯器的情況選擇合適的編譯器,如VC++ 6.0、VC++7.0、Bland
C的編譯器等,目前Matlab好象還不支持VC++8.0(我計算機安裝的就是VC++2005,Matlab就無法識別)。當然,如果你的計算機里根
本就沒有安裝其他任何語言的編譯器,也可選擇Matlab自帶的Lcc編譯器,其實這個編譯器對大多數用戶已經夠用了(我就是選擇的Matlab自帶的
Lcc編譯器)。
配置好編譯器後,自然就是對自己編寫的M文件進行編譯了。
將M文件編譯為獨立可執行文件的語法是:
某些論壇講是
,不知有何區別,大家可以嘗試一下
其中fun1就是最後的可執行文件的名稱。
其他的方法還有:
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中輸入
mcc -B sgl GUI.m
2.將上步生成的文件包括*.m 文件和*.fig文件一起考到待運行的機器
此時仍需matlab所必需的動態連接庫。
㈤ 如何將MATLAB程序編譯成獨立可執行的程序
一、生成獨立可執行的程序(exe文件)步驟
1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。
2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。
3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc
-mfilaname;
4、安裝<matlab
path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。
二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:
<matlab path>
\toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。下面將實現去除黑屏的辦法:
消除運行MATLAB生成的exe程序的dos黑屏的辦法
基於MATLAB生成exe文件後,每次運行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法一: 在命令窗口輸入:
cd(prefdir)
edit compopts.bat
在打開的文件最後添加以下語句:
A.VC環境下:
set
LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
B.LCC環境下:
set LINKFLAGS=%LINKFLAGS%
-subsystemwindows
C. Borland:
set LINKFLAGS=%LINKFLAGS% -aa
保存以後,再重新編譯m文件,生成的exe文件運行起來就沒有dos窗口了
方法二:使用suppress工具:
下載附件中的suppress壓縮包後解壓,(當然您可以自己去Google然後再下載)會看到一個suppress.ini文件,用記事本打開,然後將
其中「Name=test.exe」中text.exe的改為你生成的exe文件名。將suppress.exe(有個關盤和顯示器的圖標),改後的
suppress.ini放到你生成的exe的同目錄下。執行suppress.exe或者您自己生成的exe可以了。當然您可以自己修改
suppress.exe的名字,改為您自己想要的名字。
其中的方法一在使用後生成的exe再到沒有任何安裝MATLAB的機子上運行也不會有黑屏了。
方法二的缺點就是要同時存在您生成的exe以及supress.exe,必須在同一目錄下。