MATLAB_GUI编程技巧

MATLAB_GUI编程技巧

ID:41037284

大小:286.00 KB

页数:35页

时间:2019-08-14

MATLAB_GUI编程技巧_第1页
MATLAB_GUI编程技巧_第2页
MATLAB_GUI编程技巧_第3页
MATLAB_GUI编程技巧_第4页
MATLAB_GUI编程技巧_第5页
资源描述:

《MATLAB_GUI编程技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MatlabGUI编程技巧1.如何使gui编的界面一运行就居中?方法一:a>假如当前的figure的句柄是h,则在程序运行的刚开始,用这个命令,          set(h,'visible','off');        %使h对应的图不可见.b>然后你再进行你的其它的操作,c>最后,在程序的结尾部分,用这两个语句:              movegui(h,'center');  %将这个图移到中央.详细用法参阅help  movegui              set(h,'visible','o

2、n');    %恢复其可见性.方法二:functionfigureMiddledfigure;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)...  (scre

3、enheight/2-figheight/2)...  figwidthfigheight];set(gcf,'position',figposition);2.有关GUI实时显示的问题首先,用MATLAB做实时显示其效果并不是很好,主要原因就是它的速度慢,尤其是你的程序中出现循环时,速度更慢.  前几天,我也做了一个实时显示的东西,我的做法如下:        1.建立一个图,如h=plot(x,y);                    set(h,'erasemode','xor')  %设置擦除方式.

4、        2.建立一个死循环,不断的接受数据,并且不断的更新x,y        3.  用这个指令set(h,'xdata',x,'ydata',y),使x,y的数据不断的得到更新.        4.用屏幕刷新指令drawnow进行刷新.        就这个方法就可以做到实时了.3.关于参数传递关于参数传递主要有三种方法:  1).就是用定义全局变量的方法来实现,如global  a,等这种用法,这种一般用在小程序中,因为如果全局变量太多的话,会造成系统混乱.  2).应用对象的userdata属性

5、,直接通过对象的userdata属性来进行各个callback之间的数据存取操作.首先把数据存到一个特定的对象中,然后在取出来,如下:      >>set('ui_handle','userdata',value)      >>value=get('ui_handle','userdata')    这种方法虽然简单,但是缺点是每个对象只能存取一个变量值.  3).利用setappdata,getappdata,rmappdata函数来实现,这几个函数来进行数据传递是最有弹性的.使用方法和第二种方法类似.4

6、.怎么直接将下面一段.txt格式导到MATLAB中?用load命令loade:dataccc.txt;我的文件是e盘data下的其实还有一个方法可以导入,有没有试过textread呢5.函数结构与参数传递1)最近简单整理了一下发过的东西,将大家比较困惑的两个问题,再强调一下。这个问题我也曾经想过很久很久。就是某个函数的子函数,可能具有复用性,而我又不想改变原来的函数,怎样才能调用这个子函数呢?那就是给每一个函数加一个壳。例如这个函数结构:functionvarargout=test_function(var

7、argin)%....................ifnargin==0%创建界面。%即使不创建界面,也可以采用这种函数结构。figurehandle=test_generatefigurecontent;%初始化函数,可以用于创建初始化数据。test_initfiguecontent(figurehandle);ifnargout>0varargout{1}=figurehandle;endelseifischar(varargin{1})tryifnargout>0[varargout{1:

8、nargout}]=feval(varargin{:});elsefeval(varargin{:});endcatchdisp(lasterr);endend%-------------------------------------------------------------------------functionfigurehandle=test_generatefigure

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。