当前位置:文档之家› 利用MATLAB产生COE文件

利用MATLAB产生COE文件

利用MATLAB产生COE文件
利用MATLAB产生COE文件

Matlab中数据格式说明

You specify these elements in the following order:

Flags

You can control the alignment of the output using any of these optional flags.

Field Width and Precision Specifications

You can control the width and precision of the output by including these options in the format string.

Conversion Characters

Conversion characters specify the notation of the output.

Conversion characters %o, %u, %x, and %X support subtype specifiers. See Remarks for more information.

Escape Characters

This table lists the escape character sequences you use to specify nonprinting characters in a format specification.

Remarks

When writing text to a file on a Windows system, The MathWorks recommends that you open the file in write-text mode (e.g., fopen(file_id, 'wt')). This ensures that lines in the file are terminated in such a way as to be compatible with all applications that might use the file.

MATLAB writes characters using the encoding scheme associated with the file. See fopen for more information.

The fprintf function behaves like its ANSI? C language namesake with these exceptions and extensions:

If you use fprintf to convert a MATLAB double into an integer, and the double contains a value that cannot be represented as an integer (for example, it contains a fraction), MATLAB ignores the specified conversion and outputs the value in exponential format. To successfully perform this conversion, use the fix, floor, ceil, or round function to change the value in the double into a value that can be represented as an integer before passing it to sprintf.

The following nonstandard subtype specifiers are supported for the conversion characters %o, %u, %x, and %X.

b The underlying C data type is a double rather than an unsigned integer. For

example, to print a double-precision value in hexadecimal, use a format like

'%bx'.

t The underlying C data type is a float rather than an unsigned integer.

For example, to print a double value in hexadecimal, use the format '%bx'.

The fprintf function is vectorized for nonscalar arguments. The function recycles the format string through the elements of A (columnwise) until all the elements are used up. The function then continues in a similar manner through any additional matrix arguments.

Examples

Example 1

Create a text file called exp.txt containing a short table of the exponential function. (On Windows platforms, it is recommended that you use fopen with the mode set to 'wt' to open a text file for writing.)

x = 0:.1:1;

y = [x; exp(x)];

fid = fopen('exp.txt', 'wt');

fprintf(fid, '%6.2f %12.8f\n', y);

fclose(fid)

Now examine the contents of exp.txt:

type exp.txt

0.00 1.00000000

0.10 1.10517092

...

1.00

2.71828183

利用MA TLAB产生COE文件,初始化RAM

产生正余弦波形数值,形成COE文件,加载在ROM中。

MA TLAB中代码如下:

x = linspace(0,6.28,1024); 在0和2pi间取1024个点

y1 = cos (x)+1;

y2 = sin (x)+1;

y1 = y1 * 32768; 在将波形抬高到坐标轴上后,再将上面算得的数值放大量化成16位

y2 = y2 * 32768;

fid = fopen('c:/cos_coe.txt','wt'); 生成TXT文件

fprintf( fid, 'memory_initialization_radix=10;\n', y1);生成索引fprintf( fid, 'memory_initialization_vector =\n', y1 );

fprintf(fid,'%16.0f,\n',y1);量化数据格式,具体说明见前面,注意其中的逗号!fclose(fid)

plot(y1);

hold on;

fid = fopen('c:/sin_coe.txt','wt');

fprintf( fid, 'memory_initialization_radix=10;\n', y2);

fprintf( fid, 'memory_initialization_vector =\n', y2 );

fprintf(fid,'%16.0f,\n',y2);

fclose(fid)

plot(y2);

另一例:

% Generate sin & cos table for DDS

%%

clear all;

close all;

%%

x = linspace( 0, 2*pi, 1024 );

y_cos = fix( (cos(x)+1)*512 );

for k = 1:length(y_cos)

if y_cos(k)>=1024

y_cos(k) = 1023;

end

end

%%

fid = fopen( 'cos_coe.coe', 'wt' );

fprintf( fid, 'memory_initialization_radix=10;\n', y_cos );

fprintf( fid, 'memory_initialization_vector =\n', y_cos );

fprintf( fid, '%10.0f,\n', y_cos(1:end-1) );

fprintf( fid, '%10.0f;', y_cos(end) );

fclose( fid );

plot(y_cos);

grid on;

dbin = dec2bin(y_cos,10);

Matlab+Deploy工具的使用--Matlab生成可执行文件

Matlab Deploy工具的使用--Matlab生成可执行文件 通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。 Matlab的Deploy Tools 可以方便的将matlab工程编译成所支持的类型,例如一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。 其原理就是先使用MCC 编译器根据你的m文件生成相应的c语言文件以及数据文件,然后在调用C/C++编译器编译成可执行文件或者控件库。 在Matlab 2007a 中Deploy Tool其实是一个MCC的前端界面(用MCC的命令行参数一样可以完成编译工作) 下面是用Deploy Tool来编matlab工程。 首先创建prj工程,从菜单中定位到“New”-》“Deployment Project” 然后会提示选择类型

然后添加文件

接着你就可以编译了 第一次编译会让你去选择C/C++编译器,运行mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器, 然后让你给出选择,matlab自带了LCC编译器,不过可以使用VC的编译器。 选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置: 可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描:

当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等 不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝 (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe 到目标机器安装,然后就有了运行时环境,当然使用Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选“Include MATLAB Comptent Runtime(MCR)”:

Matlab生成P文件及exe文件方法

1.Matlab生成P文件方法: P文件是对应M文件的一种预解析版本(preparsed version)。因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。但又因为Matlab的解析速度非常快,一般不用自己作预解析。只有当一些程序要调用到非常多的M文件时,如GUI 应用程序时,才会作预解析,以增加以后的调用速度。 P文件可以用来作保密代码之用,如果你给别人一个M文件,别人可以打开来看到你所有的代码和算法。如果你的代码不想被别人看到,那可以给他P文件。pcode函数也可以应用在M函数文件。 Matlab命令:pcode pcode fun pcode *.m pcode fun1 fun2 ... pcode... -inplace Description pcode fun obfuscates (i.e., shrouds) M-file fun.m for the purpose of protecting its proprietary source code. The encrypted M-code is written to P-file fun.pin the current directory. The original M-file can be anywhere on the search path.If the input file resides within a package and/or class directory, then the same package and class directories are applied to the output file. See example 2, below.pcode *.m creates P-files for all the M-files in the current directory.pcode fun1 fun2 ... creates P-files for the listed functions.pcode... -inplace creates P-files in the same directory as the M-files. An error occurs if the files cannot be created. 2.Matlab编译生成exe可执行文件 1、首先要保证你的程序是函数型的,而不是脚本形式的。如果是脚本形式的也不要紧,只需要在脚本文件第一行添加function []=name()即可。

Matlab编写的程序生成EXE可执行文件的方法

Matlab生成EXE可执行文件 1、M文件生成可执行文件 1.1、Run timeserver的配置 执行这个命令要在命令提示符下进入%matlab%\toolbox\runtime\bin\win32目录。输入:rtsetup -f %matlab%\bin\win32\matlab.exe –s **** 。这儿****代表你输入的N个数字或者字母,它将作为未来开发的应用程序的密码用来识别不同的文件是否出自同一程序。在正常情况下,执行完这居命令以后,dos不会有任何提示符。 1.2、编写在matlab中运行的程序 1.3、编写配置文件 把toolbox\runtime\下面的两个模板文件matlabrt_template.m,和pathdefrt_template.m文件修改程自己的matlabrt.m和pathdefrt.m文件。 1.4、编译生成p文件 把你要编译的源程序放在toolbox\local目录下一个子目录中,然后把这个目录设为matlab的当前目录――一定要保证这一点。 在matlab中输入如下命令: [LOG, DEPFUNOUT, PCODEOUT] = BUILDP({?matlabrt‘}); 如果出现BUILDP finished but there may be file(s) with either problem symbols or EV AL-like constructs. Check BUILDP log for details. 。这是很正常的,很多时候都会出现这个提示。 输入: Depfunout{1} 把它的内容拷到toolbox\runtime\oem\的list.txt中去(如果没有list.txt则新建). 1.5、打包,发布 退出matlab,打开命令提示符,到toolbox\runtime\oem下,执行packege。按照它的提示先后输入matlab的目录,文件列表名称(list.txt),还有应用程序的名称。在toolbox\runtime\oem下生成一个setup程序。

matlab生成可独立运行的exe文件

一、生成独立可执行的程序(exe文件)步骤 1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我用的是matlab自带的LCC; 2、设置编译器。在matlab命令行输入mbuild –setup以及mex -setup,选择安装的c编译器。注意“-”之前的空格! 3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help; 当然,也可以输入mcc -m filaname,filaname为要转成exe的m文件; 4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。 二、脱离matlab运行可执行程序 MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下: \toolbox\compiler\deploy\win32 文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。在MATLAB里运行可执行程序的办法是在前面加一个“!”比如:!picshow,后缀名可有可无。

在其它没有安装matlab的机器上运行exe文件 1、安装matlab的运行环境MCRInstaller。在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。 2、要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。如果没有,也可手动安装,添加的方法是:右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。 (注:在安装过程中会弹出让安装https://www.doczj.com/doc/f08068619.html,Framework可以不用安装。) 3、将编译生成的相相关文件拷贝到同一目录下,双击即可运行。

matlab生成exe应用程序

matlab生成exe应用程序 通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。 Matlab的Deploy Tools 可以方便的将matlab工程编译成所支持的类型,例如一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。 其原理就是先使用MCC 编译器根据你的m文件生成相应的c语言文件以及数据文件,然后在调用C/C++编译器编译成可执行文件或者控件库。 1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++,我基于VS 2008实现。 2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。 3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。 在命令窗口输入deploytool即可看到。具体使用方法请Help。 当然,也可以输入mcc -m filaname,filaname为要转成exe的m文件; 注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname; 在Matlab 2007a 中Deploy Tool其实是一个MCC的前端界面(用MCC的命令行参数一样可以完成编译工作) 下面是用Deploy Tool来编matlab工程。

首先创建prj工程,从菜单中定位到“New”-》“Deployment Project” 然后会提示选择类型

matlab程序如何生成可执行文件

matlab程序如何生成可执行文件 2010-11-01 15:07 一、将matlab编译成可执行程序 如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现: 二、生成独立可执行的程序(exe文件)步骤 1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。 2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。 3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。 (当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件)注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname; 4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。 三、脱离matlab运行可执行程序 MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR 一起打包。MCR环境的设置文件存放目录如下: \toolbox\compiler\deploy\win32 文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。 在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。 四、在其它没有安装matlab的机器上运行exe文件前: 首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。 其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。 如果没有,也可手动安装,添加的方法是: 右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。 注:在安装过程中会弹出让安装https://www.doczj.com/doc/f08068619.html,Framework可以不用安装。

MATLAB生成可执行文件

MATLAB生成可执行文件(.exe文件) 2010-07-28 14:59:25| 分类:matlab学习 要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来说,在安装Matlab时就已经安装了相应版本的Matlab Compiler。只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。 在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入: Mbuild –setup 然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。 配置好编译器后,自然就是对自己编写的M文件进行编译了。 将M文件编译为独立可执行文件的语法是: >>mcc –m fun1.m fun2.m …..

其中fun1就是最后的可执行文件的名称。 另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc –m main.m –o mrank_main,就是将编译后的文件指定为mrank_main.exe。 编译后的生成文件根据编译器的版本不同而不同。具体的可参阅相关资料。 如果要在没有安装matlab的计算机上执行编译后的程序,首先要将MATLAB701 toolbox compiler deploy win32中的MCRinstaller.exe安装到该计算机上(7.0 以前的版本是mglinstaller.exe)。 其次是要将“MCRinstaller.exe安装目录runtimewin32”这个路径添加到该计算机的环境变量中,添加的方法是: 右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。 第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。 第四步是打开MS-dos操作窗口,进入到编译后的*.exe程序所在的目录,执行编译生成的*.exe文件即可。 需要说明的一个问题: 如果你的程序还附带有图片(如Version上的图标)、Web页面(如help 文档),在编译的时候可能无法与M文件一起编译(因为我没有试过,也

MATLAB生成可执行文件exe总结

10、要将用 Matlab 语言编写的函数文件编译成 可独立执行的 *.exe 文件 要将用 Matlab 语言编写的函数文件编译成可独立执行的*.exe 文件(即可脱离 Matalab 环境的执行程序),首先要安装和配置好 Matlab Compiler,一般来说,在安装 Matlab 时就已经安装了相应版本的Matlab Compiler。只是不同版本的 Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。在确定安装好 MatlabCompiler 后,还需要对 Compiler 进行适当的配置,方法是在 Matlab 命令窗口输入: Mbuild –setup 然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如 VC++ 6.0、VC++7.0、Bland C 的编译器等,目前 Matlab 好象还不支持 VC++8.0(我计算机安装的就是 VC++2005,Matlab 就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择 Matlab 自带的 Lcc 编译器,其实这个编译器对大多数用户已经够用了(我就是选择的 Matlab 自带的 Lcc 编译器)。配置好编译器后,自然就是对自己编写的 M 文件进行编译了。 将 M 文件编译为独立可执行文件的语法是: >>mcc –m fun1.m fun2.m….. 其中 fun1 就是最后的可执行文件的名称。另外,也可通过采用命令开关-o 指定编译最终目标文件的名称,如 mcc –m main.m –o mrank_main,就是将编译后的文件指定为 mrank_main.exe。编译后的生成文件根据编译器的版本不同而不同。具体的可参阅相关资料。 如果要在没有安装 matlab 的计算机上执行编译后的程序 首先要将\MATLAB701\toolbox\compiler\deploy\win32 中MCRinstaller.exe 安装到该计算机上(7.0 以前的版本是mglinstaller.exe)。 其次是要将―MCRinstaller.exe 安装目录\runtime\win32‖这个路径添加到该计算机的环境变量中,添加的方法是:右击―我的电脑‖―属性‖―高级‖―环境变量‖―添加‖指定一个变量名,然后将上述路径复制到里面就可以了。 第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。 第四步是打开 MS-dos 操作窗口,进入到编译后的*.exe 程序所在的目录,执行编译生成的*.exe 文件即可。 需要说明的一个问题: 如果你的程序还附带有图片(如 Version 上的图标)、Web 页面(如help 文档),在编译的时候可能无法与 M 文件一起编译(因为我没有试过,也没有看到有关这方面的介绍),这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以

MATLAB程序封装成EXE文件

MATLAB程序封装成EXE文件 1.设置编译器: 首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。配置Compiler 的方法是在Matlab命令窗口输入: mbuild -setup,按提示选择matlab自带编译器LCC。 实验记录: >> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: [1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc [2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio [0] None Compiler: 1 Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: D:\PROGRA~1\MATLAB\R2007a\sys\lcc Are these correct?([y]/n): y Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.bat From template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.bat Done . . . --> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll" DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll succeeded --> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll" DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded

matlab中的多个.m文件转化成exe文件

方法一: 已有gui.m文件和gui.fig文件 1 在matlab的command窗口中输入 mcc -B sgl GUI.m 2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器 此时仍需matlab所必需的动态连接库。 3. 将 /extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上 4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录, 其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共 有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。 方法二: matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab也提供了这样的工具。 1. 转化为c/c++程序并编译为.exe 先验证mcc是否可用,用matlab中的example验证即可 建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装) 由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure 编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等 程序发布需要.exe、bin\、.fig 2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件 前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径 另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同 3. 在确保.exe程序可以运行的情况下可以用setup factory打包发布 以下通过注册表自动添加path路径 %-------------------------------------------------------------------------------------- Screen.Next(); -- 进入下一个屏幕

如何将MATLAB程序编译成独立可执行的程序

如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现: 一、生成独立可执行的程序(exe文件)步骤 1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。 2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。 3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。 当然,也可以输入mcc -m filaname,filaname为要转成exe的m文件; 注:在以前的版本中,用编译命令mcc -B sglcppfilaname;自2006的版本后,替换为mcc -mfilaname; 4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。 二、脱离matlab运行可执行程序 MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下: \toolbox\compiler\deploy\win32 文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。在其它没有安装matlab的机器上运行exe文件前: 首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。 其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。 如果没有,也可手动安装,添加的方法是: 右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。 注:在安装过程中会弹出让安装https://www.doczj.com/doc/f08068619.html,Framework可以不用安装。 最后就是将编译生成的相相关文件拷贝到同一目录下,双击即可运行。 问题:目前此方法可完全运行在没有安装MATLAB以及C/C++的电脑上,但是如果是在AMD 的CPU可以运行,但是不会出现任何MATLAB编译的界面。 美中不足就是,运行的时候dos的那个黑色地窗口一直存在。下面将实现去除黑屏的办法:消除运行MATLAB生成的exe程序的dos黑屏的办法 基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决: 方法一:在命令窗口输入: cd(prefdir) edit compopts.bat 在打开的文件最后添加以下语句: A.VC环境下: set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup B.LCC环境下: set LINKFLAGS=%LINKFLAGS% -subsystemwindows C. Borland:

MATLAB生成.exe总结

10、要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件 要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来说,在安装Matlab时就已经安装了相应版本的Matlab Compiler。只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。在确定安装好MatlabCompiler 后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入: Mbuild–setup 然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。配置好编译器后,自然就是对自己编写的M文件进行编译了。 将M文件编译为独立可执行文件的语法是: >>mcc–m fun1.m fun2.m….. 其中fun1就是最后的可执行文件的名称。另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc–m main.m–o mrank_main,就是将编译后的文件指定为mrank_main.exe。编译后的生成文件根据编译器的版本不同而不同。具体的可参阅相关资料。 如果要在没有安装matlab的计算机上执行编译后的程序 首先要将\MATLAB701\toolbox\compiler\deploy\win32中MCRinstaller.exe安装到该计算机上(7.0以前的版本是mglinstaller.exe)。 其次是要将―MCRinstaller.exe安装目录\runtime\win32‖这个路径添加到该计算机的环境变量中,添加的方法是:右击―我的电脑‖―属性‖―高级‖―环境变量‖―添加‖指定一个变量名,然后将上述路径复制到里面就可以了。 第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。 第四步是打开MS-dos操作窗口,进入到编译后的*.exe程序所在的目录,执行编译生成的*.exe文件即可。 需要说明的一个问题: 如果你的程序还附带有图片(如Version上的图标)、Web页面(如help文档),在编译的时候可能无法与M文件一起编译(因为我没有试过,也没有看到有关这方面的介绍),这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以

matlab gui 生成独立可执行的程序 MCRinstaller

matlab gui 生成独立可执行的程序 MCRinstaller.exe 2009-05-10 03:03 P.M. 一、生成独立可执行的程序(exe文件)步骤 1、安装编译器。可有多种选择,本机安装的是microsoft visual c++ 6.0; 2、设置编译器。在matlab命令行输入mbuild -setup,选择安装的c编译器; 3、调用编译器。输入mcc -m filaname,filaname为要转成exe的m文件; 在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -m filaname; 4、安装MATLAB7\toolbox\compiler\deploy\win32目录下的MCRInstaller。 二、脱离matlab运行可执行程序 MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下: \MATLAB\R2007a\toolbox\compiler\deploy\win32 文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中。 在其它机器上运行exe文件前,首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境。 Note: 将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。

matlab GUI程序转换成exe可执行文件

matlab GUI程序转换成exe可执行文件 matlab GUI程序转换成exe可执行文件1.设置编译器: 在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入: Mbuild –setup,按提示选择matlab自带编译器LCC。 2.将脚本编译为可执行文件: 如项目文件包含:gui.m, gui.gif, fun1.m。 在此路径下命令行输入:mcc –m gui.m,生成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c, gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。 3.在未安装matlab的机器上运行可执行程序。 将R2 2007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe 安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe 将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。

4.去除独立可执行程序运行时的“DOS黑窗口”。 以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。 matlba命令行输入: cd(prefdir) edit compopts.bat 此时compopts.bat打开,在文件最后添加: set LINKFLAGS=%LINKFLAGS% -subsystem windows 如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同 Microsoft Visual C/C++: set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup Borland: set LINKFLAGS=%LINKFLAGS% -aa

matlab+gui+生成独立可执行的程序

要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来说,在安装Matlab时就已经安装了相应版本的Matlab Compiler。只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。 在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入: Mbuild –setup 然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab 自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。 配置好编译器后,自然就是对自己编写的M文件进行编译了。 将M文件编译为独立可执行文件的语法是: >>mcc –m fun1.m fun2.m….. 其中fun1就是最后的可执行文件的名称。 另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc –m main.m –o mrank_main,就是将编译后的文件指定为mrank_main.exe。 编译后的生成文件根据编译器的版本不同而不同。具体的可参阅相关资料。 如果要在没有安装matlab的计算机上执行编译后的程序,首先要将 \MATLAB701\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上(7.0以前的版本是mglinstaller.exe)。 其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,添加的方法是: 右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。 第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。 第四步是打开MS-dos操作窗口,进入到编译后的*.exe程序所在的目录,执行编译生成的*.exe文件即可。 需要说明的一个问题: 如果你的程序还附带有图片(如Version上的图标)、Web页面(如help文档),在编译的时候可能无法与M 文件一起编译(因为我没有试过,也没有看到有关这方面的介绍),这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以你编译后的程序名+_mcr结尾的文件夹,

MATLAB学习之旅(二)MATLAB M文件变exe文件

MATLAB学习之旅(二)MATLAB M文件变exe文件 - chenyujing1234的专栏 - 博客频道 - https://www.doczj.com/doc/f08068619.html, 转载请标明: https://www.doczj.com/doc/f08068619.html,/chenyujing1234 参考文章: https://www.doczj.com/doc/f08068619.html,/s/blog_4f0fc2700100moj2.html 一、生成独立可执行的程序(exe文件) 步骤 1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2005实现。 MATLAB编译器 1、产生C源码,并进而生成MEX文件。这种MEX文件的优点是:一,当程序变量为实数,或向量化程度较低,或含有循环结构时,采用该法可提高运行速度;二,与ASCII码的M文件不同,MEX文件采用二进制代码生成,能更好地隐藏文件算法,使之免遭非法修改。 2、产生C或C++源码,以便与其他C/C++模块结合行成独立的外部应用程序。运行所产生的应用程序,无需MATLAB环境的支持,但是往往需要MATLAB提供的C/C++数学库;如果调用了MATLAB绘图指令,则还需要MATLAB提供的C/C++图形库 3、产生C MEX的S函数,与Simulink配合使用,以提高S-函数的运行速度 4、产生C 共享库(动态链接库)或C++静态库,他们的使用无需MATLAB环境的支撑,但是需要MATLAB的数学库 局限性 1、无法编译脚本文件 2、不支持用户自定义对象

3、不支持eval,input,inline等函数 4、不支持的MATLAB的Java接口 2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。 [cpp] >> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: [1] Lcc C version 2.4 in D:\MATLAB701\sys\lcc [2] Microsoft Visual C/C++ version 7.0 in C:\Program Files\Microsoft Visual Studio .NET [3] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio [0] None Compiler: 2 Please verify your choices: Compiler: Microsoft Visual C/C++ 7.0 Location: C:\Program Files\Microsoft Visual Studio .NET Are these correct?([y]/n): y Try to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R14\compopts.bat From template: D:\MATLAB701\BIN\WIN32\mbuildopts\msvc70compp.bat Done . . . --> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcomutil.dll" DllRegisterServer in D:\MATLAB701\bin\win32\mwcomutil.dll succeeded --> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcommgr.dll" DllRegisterServer in D:\MATLAB701\bin\win32\mwcommgr.dll succeeded >> 3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。 在命令窗口输入deploytool即可看到。具体使用方法请Help。当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件; 注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -m filaname;

将matlab程序编译成exe文件并打包的最简单方法

将matlab程序编译成exe文件并打包的最简单方法1、设置编译器 >> mbuild -setup [1] Lcc-win32 C 2.4.1 [2] Microsoft Visual C++ 6.0 [3] Microsoft Visual C++ .NET 2003 [4] Microsoft Visual C++ 2005 [5] Microsoft Visual C++ 2005 Express Edition [6] Microsoft Visual C++ 2008 [0] None Compiler: 6(这里你选择你使用的编译器) *********************************** 注意: 如果你写n之后,显示如下: [1] Lcc-win32 C

2.4.1 [0] None 你就选1,正常设置下去。等结束之后,再重新开始输入: >> mbuild -setup …… 这次应该会显示全部。(我遇到这种情况) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (2)设置编译器 前面我选择了6([6] Microsoft Visual C++ 2008),回车后,显示如下: \ProgramFiles\Microsoft Visual Studio 9.0, but that directory does not exist on this machine. Use C: \Program Files\Microsoft Visual Studio 9.0 anyway [y]/n? n(我填的是n,原因后面说) 我电脑里面已经装了VC++2008,但我的VC++2008不装在这个目录下,需要我告诉电脑VC++2008的位置,所以填N。回车后,会出现下面语句: [C: \Program Files\Microsoft Visual Studio 9.0] D: \softfile\mainsoftware\Microsoft Visual Studio

相关主题
文本预览
相关文档 最新文档