您的位置:首页 > 编程语言 > MATLAB

安装和使用MatlabCompilerRuntime

2014-01-30 03:29 274 查看

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 0End – Successful.Finished

2.3配置MCR

当安装成功的时候,会提示配置一些系统环境变量,下面详述。在/etc/profile文件的最后添加如下几行环境变量(如果安装的MCR版本不一样的话,路径可能会有不同,需要注意修改):
export MCR_HOME=/usr/local/MATLAB/MATLAB_Compiler_Runtimeexport 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/amd64export 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:321985 * 3 = 5955end TIME...2014-01-29 11:07:32
本文出自 “烟花易冷” 博客,请务必保留此出处http://yuanhuan.blog.51cto.com/3367116/1355351
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: