工程中的数学问题分享 http://blog.sciencenet.cn/u/sunwp 目前主要从事振动数据趋势预测、金融交易数据量化分析等领域的研究。sunwp@jlu.edu.cn

博文

Matlab程序编译

已有 8118 次阅读 2011-4-20 14:55 |系统分类:教学心得| Matlab程序编译, mbuild, mcc

本文以MatlabR2010b自带编译器Lcc-win32 C.m文件编译为例介绍Matlab程序的发布。分三部分介绍:程序准备与路径添加、编译器选择与文件编译以及程序打包与移植。

 

一.    程序准备与路径添加

 

1)         下面是一个演示例子的.m文件内容

clc

clear

fprintf(1,'---------------------------------n');

fprintf(1,'      本程序将绘制随机平面图n');

fprintf(1,'---------------------------------nn');

%读入硬盘数据

fprintf(1,'正在生成随机数据,请稍等...n');

results=rand(100,100);

temp=size(results,2);

fprintf(1,'n数据生成完毕,共有:');

fprintf(1,'%d',temp);

fprintf(1,' nn');

 

%下面输入绘制节点的信息

k=input('请输入绘制哪列并回车 k=:');

fprintf(1,'n');

if  k>0&&k<=temp&&rem(k,1)==0

    n=k;

else

   fprintf(1,'输入有误,请输入小于问题列数的正整数nn');

   k=input('请重新输入列数并回车 k=:');

   fprintf(1,'n');

   if k>0&&k<=temp&&rem(k,1)==0

       n=k;

   else

       fprintf(1,'输入列数再次出错,再见!nn');

       fprintf(1,'---------------------------------n');

       return

   end      

end

 

nx=(n-1)*2+1;

ny=nx+94;

x=results(:,nx);

y=results(:,ny);

 

fprintf(1,'n绘制已完成,请查看图形窗口!nn')

fprintf(1,'---------------------------------n');

plot(x,y,'r');

      

grid on

axis square

 

2)          将上面的脚本文件拷贝到matlab空白函数文档中,并命函数名为Myexample:如

function  Myexample

%   这仅仅为了演示上面例子

%   下面贴放上面的.m文件内容

end

 

注:事实上脚本文件也可以直接编译,这里转化为函数文件是因为一般说来大多数程序包含较多的子函数,这时可以把几个子函数一起编译为一个文件,多子函数编译请参看参考文献。

 

3)          将上面的函数存储在一个文件夹中(路径不能有中文),命名必须与函数名example同名:如存为:D:  test Myexample.m

4)          将上面路径D:  test 置为当前路径。

 

二.    编译器选择与文件编译

 

1)在matlab命令窗口运行 mbuild –setup 命令,将显示:

Please choose your compiler for building standalone MATLAB applications:

 

Would you like mbuild to locate installed compilers [y]/n?

 

2)请在屏幕中输入 y,命令窗口将显示:

 

Select a compiler:

[1] Lcc-win32 C 2.4.1 in C:PROGRA~1MATLABR2010bsyslcc

 

[0] None

 

Compiler:

 

注:如果你机器中安装过其他可编译Matlab程序的编译器,将显示出更多的选择依次为[2], [3] …; 至于到底都什么编译器能编译Matlab程序, 你可以通过在上面不输入y而输入 n 查看,不过查看后你就看不到你机器到底安装过什么编译器了,当然为了快速返回,你可以输入0退出mbuild –setup 命令。

 

3)在Compiler: 后面输入1,屏幕将显示:

 

Please verify your choices:

 

Compiler: Lcc-win32 C 2.4.1

Location: C:PROGRA~1MATLABR2010bsyslcc

 

Are these correct [y]/n?

 

4)请在屏幕中输入 y,命令窗口将显示:

 

Trying to update options file: C:Documents and SettingsthinkApplication DataMathWorksMATLABR2010bcompopts.bat

From template:              C:PROGRA~1MATLABR2010bbinwin32mbuildoptslcccompp.bat

 

Done . . .

注:至此编译器已经选择完毕,选择其他编译器输出内容大致相同但一般略多些。

 

5)在窗口运行命令 mcc –m Myexample, 这一步需要一段时间,完成后将在test文件夹中生成一个可执行文件Myexample.exe。点击该文件在本机上即可运行。

 

三.    程序打包与移植

 

1)          将可执行Myexample.exe及编译机器中的MCRinstaller.exe C:Program FilesMATLABR2010btoolboxcompilerdeploywin32)拷贝到想移植的机器中;

2)          先安装MCRinstaller.exe,注意安装目录应该选择Myexample.exe所在的目录;

 

至此,编译过的Myexample.exe程序即可脱离编译机器运行了。

 

 

参考文献:

1.MATLAB程序编译成独立可执行的程序,http://www.zdh1909.com/html/matlab/14481.html

2.matlab程序编译成exe文件并打包的最简单方法http://wenku.baidu.com/view/ff7b5a9851e79b896802260a.html



https://blog.sciencenet.cn/blog-361679-435294.html

上一篇:Solidworks, Simmechanics及Virtual Reality Toolbox联合仿真
下一篇:ProE与Simulink/Simmechanics刚体动力学联合仿真
收藏 IP: 175.17.163.*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-27 04:36

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部