(MATLABGUI编程技巧.docVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(MATLABGUI编程技巧

Matlab GUI编程技巧 1. 如何使gui编的界面一运行就居中?a假如当前的figure的句柄是h,则在程序运行的刚开始,用这个命令, ? ?? ?? ?? ?? ? set(h,visible,off);? ?? ?? ???%使h对应的图不可见. b 然后你再进行你的其它的操作, c最后,在程序的结尾部分,用这两个语句: ? ?? ?? ?? ?? ?? ?? ?movegui(h,center);? ?%将这个图移到中央.详细用法参阅help??movegui ? ?? ?? ?? ?? ?? ?? ?set(h,visible,on);? ???%恢复其可见性. function figureMiddled figure; set(0,units,pixels); set(gcf,units,pixels); screenrect=get(0,screensize); screenwidth=screenrect(3); screenheight=screenrect(4); figwidth=600; figheight=200; figposition=[(screenwidth/2-figwidth/2) ... ? ? (screenheight/2-figheight/2)... ? ? figwidth figheight]; set(gcf,position,figposition); 2. 有关GUI实时显示的问题首先,用MATLAB做实时显示其效果并不是很好,主要原因就是它的速度慢,尤其是你的程序中出现循环时,速度更慢. ? ?前几天,我也做了一个实时显示的东西,我的做法如下: ? ?? ?? ???1.建立一个图,如h=plot(x,y); ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? set(h,erasemode,xor)??%设置擦除方式. ? ?? ?? ?? ?2.建立一个死循环,不断的接受数据,并且不断的更新x,y ? ?? ?? ???3.??用这个指令set(h,xdata,x,ydata,y) ,使x,y的数据不断的得到更新. ? ?? ?? ?? ?4.用屏幕刷新指令drawnow进行刷新. ? ?? ?? ???就这个方法就可以做到实时了.关于参数传递关于参数传递主要有三种方法: ??1. 就是用定义全局变量的方法来实现,如global??a,等这种用法,这种一般用在小程序中,因为如果全局变量太多的话,会造成系统混乱. ? ?2. 应用对象的userdata属性,直接通过对象的userdata属性来进行各个callback之间的数据存取操作.首先把数据存到一个特定的对象中,然后在取出来,如下: ? ?? ?? ? set( ui_handle,userdata,value) ? ?? ?? ?value=get(ui_handle,userdata) ? ?? ?这种方法虽然简单,但是缺点是每个对象只能存取一个变量值. ? ?3. 利用setappdata,getappdata,rmappdata函数来实现,这几个函数来进行数据传递是最有弹性的.使用方法和第二种方法类似. 怎么直接将下面一段.txt格式导到MATLAB中?用load命令 load e:\data\ccc.txt;我的文件是e盘data下的其实还有一个方法可以导入,有没有试过textread呢函数结构与参数传递最近简单整理了一下发过的东西,将大家比较困惑的两个问题,再强调一下。 这个问题我也曾经想过很久很久。就是某个函数的子函数,可能具有复用性,而我又不想改变原来的函数,怎样才能调用这个子函数呢?那就是给每一个函数加一个壳。例如这个函数结构: function varargout = test_function( varargin ) % if nargin == 0 % 创建界面。 % 即使不创建界面,也可以采用这种函数结构。 figurehandle = test_generatefigurecontent; % 初始化函数,可以用于创建初始化数据。 test_initfiguecontent(figurehandle); if nargout gt; 0 varargout{1} = figurehandle ; end elseif ischar( varargin{1} ) try if nargout gt; 0 [varargout{1:nargout}] = feval( varargin{:} ) ; else feval( varargin{:} ) ; end catch disp( lasterr ) ; end end

文档评论(0)

34shart09 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档