(转)Linux下MatlabCompilerRuntime的安装和使用
1MCR簡介
MCR之前是 Matlab Component Runtime的縮寫,后更名為Matlab Compiler Runtime。MCR實際上是一組獨立的共享庫,也即是常說的動態連接庫,所起的作用是使得你可以執行編譯過的matlab文件,與matlab提供的另外兩個庫----數學庫和圖形庫不同之處在于它支持matlab語言所有的特性,而不僅僅是數學計算和圖形功能。換句話說他的作用就是給編譯后的matlab文件執行提供一個環境。
并且MCR是一個免費的版本,不需要購買Matlab Full Version的License,就可以運行Matlab程序。
2MCR安裝和使用
2.1下載MCR
下載地址:http://www.mathworks.com/products/compiler/mcr/。
本例中選擇R2012a (7.17)版本,因為MCR的版本需要和Matlab編譯器的版本一致才能正常運行。下載文件為:MCR_R2012a_glnxa64_installer.zip。
2.2安裝MCR
本文只討論Linux版本MCR的安裝和使用。
首先,將下載的安裝文件zip包上傳到Linux服務器上的某個目錄下,以/tmp/為例;
然后依次執行下面的命令:
進入目錄:cd /tmp
解壓縮:unzip MCR_R2012a_glnxa64_installer.zip -d MCR_R2012a_glnxa64_installer
進入子目錄:cd MCR_R2012a_glnxa64_installer
安裝:./install -mode silent -agreeToLicense? yes
當出現下面的字樣的時候,就表示MCR安裝成功了:
Exiting with status 0
End – Successful.
Finished
2.3配置MCR
當安裝成功的時候,會提示配置一些系統環境變量,下面詳述。
在/etc/profile文件的最后添加如下幾行環境變量(如果安裝的MCR版本不一樣的話,路徑可能會有不同,需要注意修改):
export MCR_HOME=/usr/local/MATLAB/MATLAB_Compiler_Runtime
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:? ? ? ? ? ? ? $MCR_HOME/v717/runtime/glnxa64:$MCR_HOME/v717/sys/os/glnxa64:$MCR_HOME/v717/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/native_threads:$MCR_HOME/v717/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/server:$MCR_HOME/v717/sys/java/jre/glnxa64/jre1.6.0/lib/amd64
export XAPPLRESDIR=$MCR_HOME/v717/X11/app-defaults
然后執行下面的命令使之生效:
source? /etc/profile
2.4使用MCR
下面舉一個簡單的例子來說明如何使用MCR,至于更高級的用法請繼續深入研究。
2.4.1編譯.m文件
MCR僅僅提供了一個運行環境,并沒有提供編譯環境,因此還需要在安裝了Matlab編譯環境的服務器上對.m文件進行編譯。
創建一個簡單的main.m文件,文件內容如下:
clear all;clc;
diary('/tmp/matlab_log.txt');
diary on;
disp(['begin TIME...'? datestr(now,31)]);
a = 1985;
b = a * 3;
disp([num2str(a) ' * 3 = '? num2str(b)]);
disp(['end TIME...'? datestr(now,31)]);
diary off;
quit;
這個.m文件僅僅進行一些簡單的Matlab運算,并將結果打印到/tmp/matlab_log.txt中,執行完畢之后就退出。
執行下面的命令對其進行編譯:
mcc -mv main.m
然后將會產生兩個文件:main和run_main.sh
其中main是編譯后的二進制文件,run_main.sh的是一個bash腳本文件,該腳本首先會設置一些環境變量然后執行main文件。兩個文件的區別是:如果已經配置了前文中的環境變量的話,直接執行main文件即可,沒有配置環境變量的話就需要執行run_main.sh。
2.4.2運行.m文件
將上步驟編譯產生的main和run_main.sh拷貝到安裝了MCR的服務器上,然后就可以直接執行它們來運行Matlab程序了。
執行./main或者./run_main.sh,就會產生類似下面的結果:
begin TIME...2014-01-29? 11:07:32
1985 * 3 = 5955
end TIME...2014-01-29 11:07:32
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2014-07/104411.htm
轉載于:https://www.cnblogs.com/kingxiaozi/p/5104830.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的(转)Linux下MatlabCompilerRuntime的安装和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法导论5:基数排序和计数排序 2016
- 下一篇: Linux驱动 - 多线程之 完成量