• (转)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

  • 相关阅读:
    树套树
    Luogu P2839 [国家集训队]middle
    苟随笔
    BJOI2014 大融合
    轻量树上问题选做
    sb的斜率优化笔记
    CDialogEx::OnPaint()的问题,或者为什么在对话框程序的OnPaint中绘图无效的问题
    VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
    C语言实现的反转字符串
    在终端输入npm run serve时出现npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法
  • 原文地址:https://www.cnblogs.com/kingxiaozi/p/5104830.html
Copyright © 2020-2023  润新知