1MCR简介

MCR之前是Matlab Component Runtime的缩写,后更名为Matlab Compiler Runtime。MCR实际上是一组独立的共享库,也即是常说的动态连接库,所起的作用是使得你可以执行编译过的matlab文件,与matlab提供的另外两个库----数学库和图形库不同之处在于它支持matlab语言所有的特性,而不仅仅是数学计算和图形功能。换句话说他的作用就是给编译后的matlab文件执行提供一个环境。

并且MCR是一个免费的版本,不需要购买Matlab Full Version的License,就可以运行Matlab程序。

2MCR安装和使用

2.1下载MCR

本例中选择R2012a (7.17)版本,因为MCR的版本需要和Matlab编译器的版本一致才能正常运行。下载文件为:MCR_R2012a_glnxa64_installer.zip。

2.2安装MCR

本文只讨论Linux版本MCR的安装和使用。

首先,将下载的安装文件zip包上传到Linux服务器上的某个目录下,以/tmp/为例;

然后依次执行下面的命令:进入目录:cd /tmp

解压缩:unzipMCR_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

matlab compiler使用,安装和使用MatlabCompilerRuntime相关推荐

  1. Matlab Compiler路径

    Matlab Compiler run-time找了半天就在自己的安装目录下 D:\Program Files\MATLAB\R2011b\toolbox\compiler\deploy\win32\ ...

  2. 使用MATLAB Compiler

    使用MATLAB Compiler 转载 (一)准备 什么是MATLAB Compiler?MATLAB Compiler能够将你的matlab程序转换为自包含(self-contained)的应用程 ...

  3. matlab的mex安装,matlab安装使用mex

    gunmex 在 matlab 中的配置(WinGW 和 cygwin) 在 Window xp/7 下使用 Linux 的 C/C++代码,编译成 DLL 供 Matlab 混合编程使用,目前有两个 ...

  4. 在MATLAB中手动安装MinGW64详细教程

    在MATLAB中手动安装MinGW64详细教程 话题背景 针对MATLAB官方License限制附件安装的问题,可以尝试线下手动自行安装 部分版本的Matlab由于License到期问题或者破解版限制 ...

  5. matlab SVM工具箱安装和使用

    1.安装办法 下载地址:http://see.xidian.edu.cn/faculty/chzheng/bishe/indexfiles/indexl.htm 在命令窗口输入以下命令:(路径根据自己 ...

  6. matlab yalmip安装教程,如何在matlab路径中安装yalmip Matlab R2014a添加yalmip图文教程

    yalmip是什么?可以说,yalmip是一位"集大成者",它不仅自己包含基本的线性规划求解算法,比如linprog(线性规划).bintprog(二值线性规划).bnb(分支界定 ...

  7. matlab compiler 与matlab coder 区别,MATLAB编译器与MATLAB编码器

    MATLAB编译器将您的MATLAB代码(保留为MATLAB .m代码)进行encryption和归档,并将其打包为一个精简的可执行文件(.exe或.dll)包装器. 这是随MATLAB编译器运行时( ...

  8. 树莓派与matlab联动并安装opencv

    树莓派与matlab联动并安装opencv 背景 树莓派镜像 修改软件源 方法 更改默认python版本为python3 安装ftp服务器 安装opencv 检查确认效果 补充:开机自动上报ip 背景 ...

  9. sdk matlab,MATLAB Compiler SDK

    MATLAB Compiler SDK Build software components from MATLAB programs MATLAB® Compiler SDK™ extends the ...

最新文章

  1. Python爬虫实战糗事百科实例
  2. [J2ME]Nokia播放音乐时发生MediaException的解决办法
  3. java 找不到符号 con_我的java程序运行时,提示找不到符号,求解!
  4. 编译原理(简单自动词法分析器LEX)
  5. 《 产品设计思维:电商产品设计全攻略》一一2.3 电子商务的存在形态
  6. Jboss启动报错——DailyRollingFileAppender无法转换异常
  7. Android 百度地图开发问题----解决地图有时候加载不出来问题
  8. VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用
  9. html中rem和em,CSS 中的 rem 和 em 的区别(1)
  10. python:关于读取文件的指定行的问题
  11. Tapestry 5 组件模板
  12. android 背景描边,Android告别使用shape标签,自定义实现圆角、背景色、描边Button...
  13. android 背景透明模糊效果怎么做的,Android 状态栏背景模糊透明效果实现
  14. vue中用canvas实现移动端手写板、电子签名功能
  15. 《运营之光》-- 学习笔记(三)
  16. 积分体系与会员体系之间的那些事
  17. 详解 Logit/Probit 模型中的 completely determined 问题
  18. 我走过山的时候山不说话
  19. FFT快速傅里叶变换详解
  20. Google地图获取城市名称

热门文章

  1. 我们应该怎样看待经济危机
  2. latex解决数据库中与或非符号如何打
  3. 用Java抓取10年大乐透中奖数据
  4. html中ol和li,HTML ol和li标签
  5. MyEclipse中jer配置
  6. Unity中的数学基础——弧度与角度
  7. HBase原理 | HBase分区影响与合理分区设置
  8. 第1章 计算机系统漫游
  9. DO280OpenShift访问控制--管理项目和账户
  10. python中dumps是什么意思_python中的dumps和loads区别