-
Redhat6.3安装Matlab运行时MCR7.8
2013-08-15 17:45:25redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即matlab运行时,默认安装在/opt/MATLAB/MATLAB_Compiler_Runtime中。至此运行时安装完毕,...redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即matlab运行时,默认安装在/opt/MATLAB/MATLAB_Compiler_Runtime中。至此运行时安装完毕,下面进行配置。
首先说明一点,此次试验只能在终端设置MCR的环境变量,不能在配置文件中进行配置(目前还没有找到方法)。
编写sum_test.m文件:
然后使用javabuildJA进行编译打包,得到SumTest.jar包,在$MATLAB/HOME/toolbox/toolbox/javabuilder/jar 中得到javabulider.jar包。function [ output_args ] = sum_test( x1,x2 ) %SUM_TEST Summary of this function goes here % Detailed explanation goes here output_args=x1+x2; end
编写java文件:
创建目录 java_package 并把上面两个包和java文件拷贝到此包下:package fansy; import com.mathworks.toolbox.javabuilder.MWException; import SumTest.SumTestclass; public class TestSumFun { /** * @param args * @throws MWException */ public static void main(String[] args) throws MWException { int a=0; int b=0; if(args.length!=2){ System.err.println("please input two number inputs"); System.exit(-1); } a=Integer.parseInt(args[0]); b=Integer.parseInt(args[1]); SumTestclass st=new SumTestclass(); Object[] result=st.sum_test(1,a,b ); if(result.length<1){ System.err.println("error!"); System.exit(-1); } System.out.println(result[0].toString()); } }
运行: javac -cp javabuilder.jar:SumTest.jar TestSumFun.java 然后编译出错;
添加环境变量:
修改 /etc/passwd 用户的shell 为 csh(本来应该是bash),然后重新使用该用户登录,使用下面的命令:
可以使用 echo $LD_LIBRARY_PATH进行查看,看是否变量设置成功,然后运行:export LD_LIBRARY_PATH=/opt/MATLAB/MATLAB_Compiler_Runtime/v78/runtime/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/os/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/native_threads:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/server:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64 export XAPPLRESDIR=/opt/MATLAB/MATLAB_Compiler_Runtime/v78/X11/app-defaults
javac -cp javabuilder.jar:SumTest.jar TestSumFun.java ,运行ok,且在当前目录下面有 fansy文件夹生成(里面有TestSumFun.class文件),然后运行
jar -cvf fansy.jar fansy
生成fansy.jar包,然后运行:
java -cp javabuilder.jar:SumTest.jar:fansy.jar fansy.TestSumFun 1 2
得到结果:3 ,运行ok,说明程序已经可以运行。
说明:在网上找了很多国外网页进行 LD_LIBRARY_PATH和XAPPLRESDIR的环境变量的永久设置都不可以,目前还没有找到方法。
-
dos中通过MCR调用Matlab生成的.exe文件
2018-07-02 17:14:16dos中通过MCR调用Matlab生成的.exe文件 2018/7/2 概述 有时需要在一台没有安装matlab的电脑上运行由matlab生成的程序,但是往往没有必要因为需要调用一个程序就去安装整个Matlab Mathwork公司贴心地考虑到了这...dos中通过MCR调用Matlab生成的.exe文件 2018/7/2 - 概述
有时需要在一台没有安装matlab的电脑上运行由matlab生成的程序,但是往往没有必要因为需要调用一个程序就去安装整个Matlab Mathwork公司贴心地考虑到了这一点,提供了一个共享库Matlab Compiler Runtime(MCR),关于它,MathWork官方给的说明是这样的:
运行编译后的 MATLAB 应用程序或组件而无需安装 MATLAB
MATLAB Runtime 是一组独立的共享库,可用于在未安装 MATLAB 的计算机上执行编译后的 MATLAB 应用程序或组件。 MATLAB, MATLAB Compiler与 MATLAB Runtime 配合使用,可以快速、安全地创建和分发数值应用程序或软件组件。
2.内容
安装MCR
即在希望能够运行Matlab程序且没有Matlab的电脑上安装MCR,安装包可以从Matlab的安装目录中找到,在安装目录中搜索 Mcrinstall.exe,点击安装即可。一般来讲,安装MCR后会自动添加环境变量,如果没有可以手动添加,但是为了能在dos中通过命令行调用函数,必须保证MCR的路径添加到了环境变量中。打包.exe文件
为了能让Matlab生成的程序给外部调用,需要现有的.m文件打包为exe应用程序。在Matlab中选择APP库中的Application Compiler工具,填写基本的应用信息,并点击上方的“+”号添加需要打包的文件。点击“√”(Package)。等待即可完成。在dos中运行命令
生成.exe后,在dos中进入exe所在的文件路径,输入exe文件名即为调用函数,在文件名后跟随输入参数及等同于将参数输入函数中,例如:
test(inputFilePath,outputFilePath)是一个将inputFilePath路径下的文件读入,经过处理后,将得到的结果写入到outputFilePath的函数。
test inputFilePath outputFilePath
注:当使用dos调用程序时,程序就是一个黑箱了,为了能够了解程序运行情况,最好将一些关键信息输出,(用disp函数即可)。
以上。
- 概述
-
redhat6.3安装matlab运行时MCR7.8,初步测试ok
2013-08-15 17:45:00redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即matlab运行时,默认安装在/opt/MATLAB/MATLAB_Compiler_Runtime中。至此运行时安装完毕,...redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即matlab运行时,默认安装在/opt/MATLAB/MATLAB_Compiler_Runtime中。至此运行时安装完毕,下面进行配置。
首先说明一点,此次试验只能在终端设置MCR的环境变量,不能在配置文件中进行配置(目前还没有找到方法)。
编写sum_test.m文件:
然后使用javabuildJA进行编译打包,得到SumTest.jar包,在$MATLAB/HOME/toolbox/toolbox/javabuilder/jar 中得到javabulider.jar包。function [ output_args ] = sum_test( x1,x2 ) %SUM_TEST Summary of this function goes here % Detailed explanation goes here output_args=x1+x2; end
编写java文件:
创建目录 java_package 并把上面两个包和java文件拷贝到此包下:package fansy; import com.mathworks.toolbox.javabuilder.MWException; import SumTest.SumTestclass; public class TestSumFun { /** * @param args * @throws MWException */ public static void main(String[] args) throws MWException { int a=0; int b=0; if(args.length!=2){ System.err.println("please input two number inputs"); System.exit(-1); } a=Integer.parseInt(args[0]); b=Integer.parseInt(args[1]); SumTestclass st=new SumTestclass(); Object[] result=st.sum_test(1,a,b ); if(result.length<1){ System.err.println("error!"); System.exit(-1); } System.out.println(result[0].toString()); } }
运行: javac -cp javabuilder.jar:SumTest.jar TestSumFun.java 然后编译出错;
添加环境变量:
修改 /etc/passwd 用户的shell 为 csh(本来应该是bash),然后重新使用该用户登录,使用下面的命令:
可以使用 echo $LD_LIBRARY_PATH进行查看,看是否变量设置成功,然后运行:export LD_LIBRARY_PATH =/opt/MATLAB/MATLAB_Compiler_Runtime/v78/runtime/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/os/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/native_threads:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/server:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64 export XAPPLRESDIR =/opt/MATLAB/MATLAB_Compiler_Runtime/v78/X11/app-defaults
javac -cp javabuilder.jar:SumTest.jar TestSumFun.java ,运行ok,且在当前目录下面有 fansy文件夹生成(里面有TestSumFun.class文件),然后运行
jar -cvf fansy.jar fansy
生成fansy.jar包,然后运行:
java-cp javabuilder.jar:SumTest.jar:fansy.jar fansy.TestSumFun 1 2
得到结果:3 ,运行ok,说明程序已经可以运行。
说明:在网上找了很多国外网页进行 LD_LIBRARY_PATH和XAPPLRESDIR的环境变量的永久设置都不可以,目前还没有找到方法。
-
基于MCR的MATLAB使用案例
2018-08-18 22:12:00写在前面 众所周知MATLAB是一款强大的数学软件,便捷的数值计算能力以及对众多的算法的集成,在科研和工程中得到...本文将介绍如何利用MCR(MATLAB Compiler Runtime)在未安装MATLAB的机器上运行MATLAB程序。 软...写在前面
众所周知MATLAB是一款强大的数学软件,便捷的数值计算能力以及对众多的算法的集成,在科研和工程中得到了广泛的应用。产品中使用了MATLAB程序,就必须要求安装MATLAB, 可是交付给用户使用来说不太适合,当然不仅仅是因为MATLAB是商业软件。
本文将介绍如何利用MCR(MATLAB Compiler Runtime)在未安装MATLAB的机器上运行MATLAB程序。
软件
计算机A:LINUX(deepin) + MATLAB(R2017b)
计算机B: LINUX (deepin) + MCR(v93)
其中MATLAB版本和MCR版本要匹配,MCR可以在Mathworks官网下载并免费使用。
编译matlab程序为独立应用
在计算机A上创建工作目录,在该目录中创建add.m、prod.m、sum_prod.m文件。
add.m
function [c] = add(a,b) c = a + b; end
prod.m
function [c] = prod_a(a,b) c = a.*b; end
sum_prod.m
a = [1,2,3,4,5]; B = [6,7,8,9,10]; sum = add(a,b); prod = prod_a(a,b); disp(sum); disp(prod);
在MATLAB命令行执行如下命令:
>> depolytool
接下来选择编译器,
添加脚本文件
单选框选择 “Runtime downloaded from web”, 接下点击package, 出现如下对话框
选择编译结果的存放目录,选好后,编译开始执行,稍等片刻,输出结果。在sum_prod目下有三个子目录,选择将for_redistribution_files_only复制到计算机B上。
for_redistribution_files_only里面的文件如下:
安装MCR
根据计算机A上的的MATLAB版本到Mathworks官网下载对应版本的MCR,或者在计算机A上MATLAB命令行中执行如下命令:
>> mcrinstaller
显示mcrinstaller所在目录,直接复制到计算机上安装。
安装步骤:
- 解压MCRInstaller.zip
- 使用sudo ./install 安装,出现界面,默认即可(会提示设置环境变量)
- 设置环境变量
设置换环境变量
命令行输入:
sudo gedit /etc/profile
在文件最后添加,如下
在linux 命令行下输入:
source /etc/profile
使环境变量生效
注:切换到for_redistribution_files_only目录,查看readme.txt,其实关于MCR的相关配置,以及使用方式都在这里说明了。
运行编译好的独立程序
有两种运行方式(都是每次开启一个终端必须重新设置或者使环境变量生效), 前提切换到可执行文件所在目录。
- 第一种
- 之前已经设置过环境变量了(手动),现在只需要在终端中输入使之生效:
>> source /etc/profile
2. 在终端输入:
>> ./sum_prod
3. 运行结果如下
- 第二种(不需要手动设置环境变量)
- 具体的在Linux命令行输入如下:
./run_sum_prod.sh /usr/local/MATLAB/MATLAB_Runtime/v93/
2. 运行结果如下:
上述方法在实际使用时多少有些麻烦,如何在进入系统时,让系统自己将上述环境变量设置好呢?
进入系统自动设置环境变量
可以通过更改.bashrc文件实现在每次登陆系统时将环境变量自动设置好
/etc/bashrc
~/.bashrc
-
mcr的matlab程序
2011-11-08 17:52:23多元曲线回归分辨,用于双线性的数据分析。 将数据中的浓度和光谱数据分辨开来 -
Linux上安装并启动MATLAB MCR
2019-06-04 13:39:41项目需要在另外的服务器上部署,代码中有一部分是MATLAB写的,没打短时间内转成python的,因此需要在服务器上安装MATLAB。 但是考虑到MATLAB体积太大,而计算只需要MATLAB的运行环境就可以了,因此考虑采用MATLAB ... -
关于Linux下安装MATLAB Compiler Runtime(MCR) 所遇到的问题以及解决方法(以Ubuntu 16.04 为例)
2018-04-28 23:36:31关于Linux下安装MATLAB ...通过MATLAB deploytool 将matlab的源文件打包成 jar 包并在Java Web 项目中使用 解决在Linux服务器上安装MATLAB Compiler Runtime(MCR)并配置环境变量的问题 遇到的问题 在修改了/etc/ -
Install MATLAB Compiler Runtime (MCR) 7.13 on Linux CentOS 6.4 x64
2016-03-28 14:59:23pg_matlab v2 中 pg_matlab/libmatcore/src/readme.txt 提到需要依赖MATLAB Compiler Runtime (MCR) 7.13. 本文将介绍一下mcr 7.13的安装.1. Prerequisites for Deployment . Verify the MATLAB Compiler Run... -
MCR 安装文档--matlab 2010b
2014-12-04 11:27:41MCR安装文档所在的目录是安装MATLAB目录中的如下目录: \toolbox\compiler\mcr\compiler\MCRinstaller.txt 将安装文档贴在下面 This document describes how to install the MATLAB Common Runtime (MCR). This ... -
用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr711(R2009b).rar
2019-08-13 09:51:19用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr711.rar 这是我为了方便调试LTE系统,用Matlab编写的LTE下行资源分配程序,只要在界面中输入你上层设定的分配参数,就可以计算出对应的物理层的RB序号... -
用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr710(R2009a).rar
2019-08-13 09:51:08用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr710.rar 这是我为了方便调试LTE系统,用Matlab编写的LTE下行资源分配程序,只要在界面中输入你上层设定的分配参数,就可以计算出对应的物理层的RB序号... -
用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr713(R2010a).rar
2019-08-13 09:51:30用Matlab开发的LTE资源分配可视化程序界面清晰-AllocRB-mcr713.rar 这是我为了方便调试LTE系统,用Matlab编写的LTE下行资源分配程序,只要在界面中输入你上层设定的分配参数,就可以计算出对应的物理层的RB序号... -
Linux 64bit matlab2012a安装MCR Installer,解决无法打开动态链接库问题
2015-02-01 21:48:53通过c++调用matlab中自己编写的函数(是通过将该函数在matlab中mcc编译成.so,然后c++中调用这个.so的方式),成功编译后(编译时也出现一些错误,详情点这里),但是成功编译完后,居然不能运行。为什么编译通过不... -
linux平台下通过mcr方式从c++程序中调用matlab函数
2010-12-01 16:46:001 在matlab中写好函数例如branch,调用命令 mcc -W cpplib:libbranch -T link:lib branch.m -C 注意末尾的-C,很关键用于生成ctf文件,里面有执行需要的一些配置文件 2 将libbranch.so libbranch.ctf放在同一个目录... -
在exe执行机上安装MCR环境(matlab运行环境)
2019-08-22 09:40:11未安装matlab的执行机上运行matlab生成的exe,需要提前安装好MCR。此文介绍安装方法。 1、 D:\MATLAB\R2016a\toolbox\compiler\deploy\win64中MCRinstaller.exe安装到该计算机上 2、 Mbuild–setup安装合适的... -
关于SentiBank detectors的matlab中getmapping函数的修正
2020-02-24 15:49:04最近在做论文复现的时候抽取特征需要用到SentiBank detectors来进行图像的特征...如果没有特殊需求,只需要下一个8.1版本的MCR运行binary文件夹中的Binconcept.exe即可,链接如下: 我找到解决方案的链接: https... -
java调mcr处理慢_java调用matlab工作以及调试总结
2021-03-14 12:39:47从开始做到测试成功居然花费了2周的时间,中间遇到各种各样的问题,现将过程记录如下:工作需求是需要对实际中的一组数据进行分析,预测该数据将来走势,因此用到matlab函数中的polyfit函数进行数据曲线拟合,... -
win7 下MCR的安装以及环境变量配置
2018-04-08 17:16:26MCRinstall主要用于在没有安装MATLAB的...3 环境变量配置右击“我的电脑”,“属性”,“高级系统设置”“系统属性”,“高级”中,点击“环境变量“,新建环境变量名为MCR,变量值为MCR的安装路径\MATLAB Compi... -
java调用matlab_java调用matlab函数接口的两种方案
2021-02-12 10:22:40Java调用matlab函数接口Java调用matlab函数接口有两种...注意:不论用这两种方式中的哪一种,最终部署时都需要matlab环境(MCR,在matlab安装路径下有)。1.方式一:matlab直接打jar包1.1.利用matlab自带工具打jar包1.... -
visual studioC#调用MATLAB生成的DLL
2020-08-07 19:38:57visual studioC#调用MATLAB生成的DLL 1.首先MATLAB要安装MCR.Install 即MATLAB编译器,并配置环境变量; 2.注册mwcomutil.dll 在cmd中输入regsvr32 mwcomutil.dll即可(要用路径.dll 注意用双引号表示地址"C:\... -
json文件封装成dll_如何快速将MATLAB中m文件封装成app?
2021-01-28 23:29:00最近在用m文件处理数据的时候,打算写一个可以脱离MATLAB在其他电脑...打开MATLAB,在命令行中输入mcr>> mcrMATLAB Runtime installer cannot be found. Download it using the command: compiler.runtime.do... -
java调用Matlab进行绘图的jar包
2019-07-03 13:14:47使用该jar包需要注意几点: 1.正确地配置好环境变量,其中包括eclipse 中...2.未安装Matlab可以通过下载9.2版本的MCR进行安装Matlab的最小化运行环境; 更多内容,请移步博客:https://mp.csdn.net/postedit/94437188 -
CAA调用matlab编译的dll
2019-07-20 11:22:40第一步: 首先,按照上一篇博文进行matlab编译:https://blog.csdn.net/weixin_41597991/article/details/96481459 第二步: ...1.将编译的dll放在MCR安装目录中的\runtime\win64 目录中,lib放在ext... -
java调用matlab函数接口的两种方案
2014-09-08 18:52:14Java调用matlab函数接口Java调用matlab函数接口有两种方式:l一种是通过...注意:不论用这两种方式中的哪一种,最终部署时都需要matlab环境(MCR,在matlab安装路径下有)。1.方式一:matlab直接打jar包1.1.利用... -
脱离matlab运行可执行程序的步骤
2019-02-13 17:47:00MCR是由matlab的运行环境,占用不到600M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:<matlab path> \... -
【Matlab】C++和MATLAB混合编程-前篇
2012-03-10 11:53:04最近做的项目用到很多数字信号处理的知识。因为对这部分并不特别熟悉,编程有很大限制,而MATLAB提供了丰富的...MATLAB在7.0以后使用MCR(Matlab Compiler Runtime)以及CTF(Component Technology File)技术。以前的编译 -
Matlab GUI程序封装成exe文件并在不安装Matlab的电脑上运行
2020-10-02 14:54:09最近根据需求用Matlab写了一个简单的软件,但需要安装到其他电脑...打开生成的文件夹之后选择这个文件夹中的“.exe”文件并运行: 这时候可能会提示你缺少“Runtime”这个东西(忘记截图~~!),此时程序还不能运行。这 -
MATLAB.NET混合编程之二~~由C#调用MATLAB编译生成的dll
2016-01-26 16:56:25假设我们现在拿到一份matlab编译成的dll,该怎么在C#项目中调用呢?大致需要遵守下面几个步骤: 安装MCR 引用MWArray.dll 引用matlab编译出的dll