zoukankan      html  css  js  c++  java
  • (转)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

  • 相关阅读:
    route-over VS mesh-under
    IOS算法(三)之插入排序
    GitHub学习笔记
    Python-面向对象 (二 继承)
    POJ 3518 Prime Gap(素数题)
    struts2的总体回想(ACTION、拦截器、值栈、OGNL表达式、ModelDriven方案等)
    first move advantage_百度搜索
    【绿茶书情】:《SOHO小报》和《凤…
    潘石屹的SOHO小报猝死
    ASP.NET Hashtable输出JSON格式数据
  • 原文地址:https://www.cnblogs.com/kingxiaozi/p/5104830.html
Copyright © 2011-2022 走看看