阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下MatlabCompilerRuntime的安装和使用

110次阅读
没有评论

共计 2028 个字符,预计需要花费 6 分钟才能阅读完成。

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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2028字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中