网站大量收购闲置独家精品文档,联系QQ:2885784924

第21章 MATLAB程序编译讲解.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3. 实现 (1) 创建图形用户窗口,代码保存为curve_color.m文件; (2) 设置MATLAB自带的Lcc C编译器,并编译M文件。 mbuild –setup mcc -m curve_color.m -d dir1 编译完成后,在dir1中出现编译生成的文件 。 * 双击curve_color.exe文件,即可运行应用程序,可以看到,程序运行时会出现MS-DOS窗口 。 * (3)设置Microsoft Visual C++ 6.0编译器,并编译M文件。 mbuild –setup mcc -m curve_color.m -d dir1 编译完成后,在dir1中出现编译生成的文件 。 * 双击curve_color.exe文件,即可运行应用程序,可以看到,程序运行时不会出现MS-DOS窗口 。 (4) 利用Deployment Tool将应用程序进行打包处理。 * 1.案例背景 函数M文件也是用户使用MATLAB编程时经常使用的文件形式之一。将MATLAB代码封装为函数M文件的形式,可以使得M文件能够接受用户的输入信息,并将处理的结果返回给用户。由其是对于大型的应用程序,可以将其划分为一个个小的功能模块,每一个功能模块使用函数M文件来实现,最终集成为整个应用程序。使用函数M文件,用户也可以很方便地扩展MATLAB的工具箱,等等。 本例讲述如何将函数M文件编译为独立的应用程序。将上述示例程序修改为函数M文件保存,并且调用MATLAB编译器来创建独立的应用程序。 二、将函数M文件编译为独立的应用程序 * 2、编程要点 要将curve_color.m应用程序修改为函数M文件,用户需要执行如下的操作: (2)代码的开头添加function关键字来定义函数的名称。 function curve_color h0=figure(toolbar,none,... units,normalized,... position,[0.2 0.2 0.6 0.5],... name,change cure color); … function为MATLAB的关键字,用来定义函数。curve_color为函数的名称,函数名称必须按照MATLAB中对变量名称的约定来定义。 函数也可以选择带输入和输出参数,例如: function [out1 out2 …]=funname(in1,in2,…) 在这里选择不带输入和输出参数。 * (2)修改程序的代码称。 由于定义各个按钮的回调函数(Callback)为字符串形式,回调函数的代码在基本(base)工作空间中执行,其中的set语句引用的图形对象的句柄必须保存在基本工作空间中。而将M文件定义为函数M文件后,图形对象的句柄是保存在了函数(caller)工作空间中的,而这两个工作空间中的变量是不能直接相互访问的。所以,如果不修改代码,则运行程序并点击按钮后会出现如下错误,提示句柄无效: ??? Error using == set Invalid handle object. ??? Error while evaluating uicontrol Callback 要解决这个问题,有两条途径: 将函数M文件中的变量定义为全局变量 全局变量的作用于为整个MATLAB工作空间,全局变量一旦定义,MATLAB的任何函数都可以访问和修改。 要把变量定义为全局变量,只需调用global命令即可。global命令的调用格式如下: global X Y Z 其中,X、Y、Z表示要定义的全局变量的名称。可以同时定义多个全局变量,变量的个数没有严格的限制。 用户在引用全局变量时,必须调用global命令来事前声明全局变量,然后才能调用全局变量。 清除全局变量时,需调用clear命令: clear global var %其中,var为全局变量的名称。 * 将函数M文件中的变量指派到基本工作空间中 assignin将函数M文件中的变量的值指派给指定工作空间中的变量。 函数的调用格式如下: assignin(ws, var, val); 其中,ws为标识工作空间的字符串,其值可以为“base”或“caller”;val为函数M文件中的局部变量,“var”为指定工作空间ws中的变量,若变量“var”在指定工作空间中不存在,则MATLAB自动创建该变量。 修改程序的代码,将图形句柄k的值指派到基本工作空间中的变量k: assignin(base,k,k); 修改后的M文件见curve_color2.m。 函数M文件的编译和部署的方法与脚本M文件相同,在此不赘述。 * 1.案例背景 MATLAB提供了一个专门用于GUI程序设计的快速开发环境-GUIDE。利用GUIDE这一界面设计工

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档