写在前面

众所周知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命令行执行如下命令:

>> deploytool

接下来选择编译器,

添加脚本文件

单选框选择 “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所在目录,直接复制到计算机上安装。

安装步骤:

  1. 解压MCRInstaller.zip
  2. 使用sudo ./install 安装,出现界面,默认即可(会提示设置环境变量)
  3. 设置环境变量

设置换环境变量

命令行输入:

sudo  gedit /etc/profile

在文件最后添加,如下

在linux 命令行下输入:

source /etc/profile

使环境变量生效

注:切换到for_redistribution_files_only目录,查看readme.txt,其实关于MCR的相关配置,以及使用方式都在这里说明了。

运行编译好的独立程序

有两种运行方式(都是每次开启一个终端必须重新设置或者使环境变量生效), 前提切换到可执行文件所在目录。

  • 第一种
  1. 之前已经设置过环境变量了(手动),现在只需要在终端中输入使之生效:

>> source /etc/profile

2. 在终端输入:

>> ./sum_prod

3. 运行结果如下

  • 第二种(不需要手动设置环境变量)
  1. 具体的在Linux命令行输入如下:

./run_sum_prod.sh /usr/local/MATLAB/MATLAB_Runtime/v93/

2. 运行结果如下:

上述方法在实际使用时多少有些麻烦,如何在进入系统时,让系统自己将上述环境变量设置好呢?

进入系统自动设置环境变量

可以通过更改.bashrc文件实现在每次登陆系统时将环境变量自动设置好

/etc/bashrc

~/.bashrc

基于MCR的MATLAB使用案例相关推荐

  1. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验

    <工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...

  2. 基于Matlab的声波信号处理,基于声卡和Matlab平台的语音信号增强处理系统

    第29卷第6期 V01.29 No.6 企业技术开发 TECHNOLOGICAL DEVELOPMENT 0F ENTERPRISE 2010年3月 Mar.2010 基于声卡和Matlab平台的语 ...

  3. ML之LiR:基于编程实现简单线性回归案例

    ML之LiR:基于编程实现简单线性回归案例 目录 LiR算法思路配图 编程实现简单线性回归案例 LiR算法思路配图 1.LiR输出结果 编程实现简单线性回归案例 结果显示

  4. AngularJS基于MVC的复杂操作案例

    AngularJS基于MVC的复杂操作案例 <!DOCTYPE html> <html><head><meta charset="UTF-8&quo ...

  5. 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续更新)

    文章目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<Matlab使用案例> 3. 专栏目录 [MATLAB统计分析与应 ...

  6. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真

    基于ADAMS和MATLAB的机械臂控制仿真 宗晓萍;李月月 [期刊名称]<微计算机信息> [年(卷),期]2009(000)035 [摘要]运用多体系统动力学分析软件ADAMS建立虚拟模 ...

  7. 崔华 oracle简历,2013数据库大会:崔华-基于Oracle的SQL优化案例分析

    2013数据库大会:崔华-基于Oracle的SQL优化案例分析 崔华的新书即将出版,其数据库大会上的演讲也非常精彩,他的新书十分值得期待. 2013年中国数据库技术大会第二天的"Oracle ...

  8. 基于线性回归的股票预测案例

    基于线性回归的股票预测案例 本次的案例使用的是股票数据,数据源从www.quandl.com 获取.本次案例主要是为了练习线性回归 pip install quandl 安装quandl库. 在使用的 ...

  9. AT32F437基于LVGL的桌面显示案例

    AT32F437基于LVGL的桌面显示案例 示例目的 提供AT32F437基于LVGL V8的桌面显示案例. 注:本示例代码是基于雅特力提供的V2.x.x板级支持包(BSP)而开发,对于其他版本的BS ...

最新文章

  1. VS2005中,C#中跨线程访问控件问题解决方案
  2. 触发器before和after的区别
  3. linux 基础知识及命令总结
  4. 今天整理了一些老作品
  5. CTR深度学习模型之 DeepFM 模型解读
  6. 如何高效学习前端新知识,拓展视野,我推荐
  7. 自动化测试遇到的难点_自动化测试过程中遇到的问题主要有什么?
  8. 数据库-几个重要的数据库相关概念
  9. mac模式怎样构造在jsp中_mac下tomcat的配置和jdk的设置 jsp的初级知识
  10. python除法运算定律_除法竖式算法的原理是什么?
  11. CSS权威指南(1)
  12. java使用163邮箱完成发送邮件完成注册
  13. 人工智能就是计算机科学的英语,人工智能的英语解释
  14. vue项目实现百度离线地图开发
  15. Excel如何计算年龄
  16. 批量标准矢量shp转txt工具shp2txt、批量txt转shp矢量工具txt2shp(Arcgis之国土报备、预审报批、勘测定界、自然资源系统)
  17. AutoJs学习-传感器图像
  18. 10.创建一个日期类MyDate, 包含年year、月month、日day三个属性
  19. Zookeeper一致性级别分析,含爱奇艺,小米,腾讯,阿里
  20. 写字机结构---coreXY结构

热门文章

  1. php新浪微博 登录接口文档,qq登录,新浪微博登录接口申请过程中遇到的问题
  2. 1.9Hadoop插件
  3. Python函数判断素数并输出前五十个素数
  4. 努力学习,大学和他们说的不一样。
  5. 考研数据结构判断题整合
  6. CoLab - 图像人脸检测_框出人脸
  7. 实用分享 2017年最新发布 iod app 上架流程
  8. 火狐linux 32位,火狐浏览器32.0版本-Firefox(火狐浏览器)32.0版下载 v32.0官方版--pc6下载站...
  9. 如何使用CMD重置Windows 10中的网络设置
  10. 互联网架构正逐渐成为企业IT发展刚需