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

(转)Linux下MatlabCompilerRuntime的安装和使用的更多相关文章

  1. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  2. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  3. Windows下的Memcache安装 linux下的Memcache安装

    linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...

  4. linux下subversion server安装手册

    linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...

  5. Linux下Perl的安装(转)

    原文地址:Linux下Perl的安装 今天在虚拟机测试shell脚本的时候,有些命令使用不了. 比如说 mysqlhotcopy ,它提示Perl的版本太低. 我用的 RedHat9 的Perl才5. ...

  6. 细说Linux下软件包的安装与管理

    一 源码安装方式      由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...

  7. Linux下Qt的安装与配置

    参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...

  8. Linux下OpenSSL的安装与使用

    Linux下OpenSSL的安装与使用 OpenSSL简介 OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux.Windows.Mac OS ...

  9. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

随机推荐

  1. 用VMware9 安装 mac 10.8和10.9搜集的资料

    VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程 http://diybbs.zol.com.cn/1/34037_699.html vmware too ...

  2. Row_Number() OVER 的用法

    Row_Number() OVER 的用法: 为每一条分组记录返回一个数字. 参考博友 , 博友二

  3. Codeforces Round #359 (Div. 2) D. Kay and Snowflake 树DP

    D. Kay and Snowflake     After the piece of a devilish mirror hit the Kay's eye, he is no longer int ...

  4. AD7715

    一.芯片概述 1.AD7715是一款适合低频测量应用的完整模拟前端,可直接接受来自传感器的低电平输入信号,并产生串行数字输出.AD7715采用Σ-Δ转换技术,可实现最高16位无失码性能. 2.CMOS ...

  5. CC2540开发板学习笔记(四)——定时器

    一.实验内容 分别使用定时器T1和T3使得LED周期性闪烁 二.实验过程 1.定时器T1(查询IRCON来控制) (1)需要调配的寄存器 T1CTL(0XE4) Timer1控制寄存器   BIT3, ...

  6. sql server系统表详细说明

    sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...

  7. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(五)

    25. 安装 Linux Malware Detect (LMD) Linux Malware Detect (LMD) 是 GNU GPLv2 协议下发布的开源 Linux 恶意程序扫描器,它是特别 ...

  8. 【练习】使用服务下载图片并保存到sdcard

    public class StringUtils { public static String getStr(String path){ String[] strs = path.split(&quo ...

  9. 端口扫描器——ZenmapKail Linux渗透测

    3.3  端口扫描器——ZenmapKail Linux渗透测​ Zenmap(端口扫描器)是一个开放源代码的网络探测和安全审核的工具.它是Nmap安全扫描工具的图形界面前端,它可以支持跨平台.使用Z ...

  10. API分析——Jquery UI Dialog

    1.阅读API文档的一般方法? 通常地, API由三部分构成:属性.方法.事件. 属性表示参数配置,作为一个组件的微调,或者功能的开启与关闭: 方法表示组件能够发生的动作,或者组件的状态监测: 事件表 ...