好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

matlab编译器.doc

5页
  • 卖家[上传人]:M****1
  • 文档编号:559977627
  • 上传时间:2023-11-07
  • 文档格式:DOC
  • 文档大小:163.51KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 本文介绍如何得到由MATLAB平台开发,经编译器编译后可以独立于MATLAB平台运行的程序MATLAB提供的编译器可以编译M文件、MEX文件、MATLAB对象或其他MATLAB代码编译后的结果包括:独立运行在Unix、windows、Macintosh等平台的程序C和C++共享库(在windows平台上的动态链接库DLLs)1、编译器的安装和配置:mbuild –setup命令窗口输出为:Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n?其含义是“请选择独立运行程序的编译器,是否需要mbuild查找已安装的编译器”,选择n后,命令窗口输出如下:Select a compiler: [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:这里列出的是MATLAB支持的通用编译器。

      选择y后,命令窗口输出如下:Select a compiler: [1] Lcc-win32 C 2.4.1 in D:\MATLAB\R2008a\sys\lcc [2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio [0] None此时显示了系统中已安装的编译器,Lcc-win32 C 2.4.1是MATLAB自带的C编译器,不能用来编译C++,选择1后命令窗口输出如下:Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: D:\MATLAB\R2008a\sys\lcc Are these correct [y]/n?选择y后,命令窗口输出如下:Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2008a\compopts.bat From template: D:\MATLAB\R2008a\bin\win32\mbuildopts\lcccompp.bat Done . . .至此完成了编译器的安装和配置。

      2、编译命令在MATLAB中使用mcc命令对MATLAB各类代码进行编译,具体用法如下:MCC [-options] fun [fun2 …]其中,options为选项,fun和fun2为MATLAB代码文件,最常用的几种形式如下:Mcc –m myfun: 将M文件生成独立运行的同名exe文件Mcc -m myfun1 myfun2 :将M文件主函数生成可独立运行的同名exe文件Mcc -W lib:liba –T link:lib a0 a1 :将两个M文件生成名为liba的C共享库Mcc -W cpplib:liba –T link:lib a0 a1 :将两个M文件生成名为liba的C++共享库例1:编译自编函数为独立运行程序,自编函数的内容如下:Function invA=myinv(i11,i12,i21,i22)A=[eval(i11) eval(i12);eval(i21),eval(i22)]; %数据类型强制转换Adet=det(A);If Adet==0 invA=pinv(A);else invA=invend在命令窗口输入如下语句:mcc -m myinv执行后,myinv.m所在目录增加了myinv.exe、myinv.prj、myinv_main.c和myinv_mcc_component_data.c文件。

      在命令窗口输入如下语句:type myinv_main.c 可查看myinv_main.c的内容最后,在dos窗口就可以运行myinv.exe了myinv 1 2 3 4例2:编译包含主函数和被调用函数的MATLAB程序为独立运行程序首先建立主函数,其内容如下:function myrootfcnfor k=1:4 mypolyfcn(k)end其次建立被调用函数,其内容如下:function y=mypolyfcn(x)P=[1 1 0 x]; %s^3+s^2+x=0y=roots(P);再次编译这两个函数:mcc -m myrootfcn mypolyfcn进入dos环境,运行:Myrootfcn就可以看到结果例3、编译包含绘图功能的MATLAB函数为独立运行程序程序,函数的具体内容如下:function myplot(x)endtime=eval(x)x=0:0.001:endtime;figureplot(x,sin(x))title('sin function')xlabel('x')ylabel('sin(x)')axis([0 endtime -1 1])grid on编译:mcc -m myplotDos窗口运行:myplot 2*pi例4、编译脚本为独立运行程序,脚本内容如下:for i=1:10 x(1,i)=i; x(2,i)=i^2;endx编译:mcc -m myscript运行:myscript例5、编译自编函数为C共享库,自编函数内容如下:function y=mydll(x)A=[eval(x(1)) eval(x(2));eval(x(3)) eval(x(4))];y=expm(A);编译:mcc -W lib:cmydll -T link:lib mydll执行后,mydll.m所在目录增加了cmydll.c、cmydll.dll、cmydll.exp、cmydll.exports、Cmydll.h、cmydll.lib、cmydll.prj和cmydll_mcc_component_data.c文件,其中cmydll.dll为目标文件。

      例6、利用项目开发工具自编函数的内容如下:function y=myprjfun(x)y=exp(eval(x))在MATLAB主窗口选择:FileàNewàdevelopment project,打开如下界面:左侧框中选择MATLAB complier右侧框中选择standalone applicationName框中填写项目名称(这里取myprj.prj)Location 选择保存路径然后点击OK可得到如下界面:选中main function并点击(添加文件图标),添加自编函数文件,然后点击进行编译,编译完成后,制定目录下增加了myprj.prj文件和子目录myprj,目录myprj下还包含两个下一集目录distrib和src,这两个目录中都包含目标程序进入dos运行:myprj 2。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.