Matlab界面设计的例子_第1页
Matlab界面设计的例子_第2页
Matlab界面设计的例子_第3页
Matlab界面设计的例子_第4页
Matlab界面设计的例子_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、很简单,在界面上放三个单选按钮控制颜色(R、G、B),四个pushbutton(功能分别为绘制正弦、余弦、grid off、退出程序),可作为一个小小的入门。程序为:%simpleGUI2.m-a simple use of Radiobutton and Pushbuttonclear all;FigWin=figure(Position,100,100,600,300,Name,Uicontrol:Push Button & RadioButton,.NumberTitle,off);AxesHandle=axes(Position,0.4,0.15,0.5,0.8,Box,on);R

2、adioNum=3;for i=1:RadioNumRadio(i)=0;%initial value=0endRadio(1)=uicontrol(FigWin,.%父对象FigWin(一figure对象),备注Style,Radio,.Position,50 255 100 30,.String,Draw in Red,.CallBack,.n=1;.if get(Radio(1),Value)=1;.%要使各radio button之间具有互斥性,要用if.else语句set(Radio(1:(n-1),(n+1):RadioNum),Value,0);.else;.%要加上分号,一种规

3、定?参备注set(Radio(1),Value,1);.end;.ColorStr=r;.set(FunHandle,Color,red);%曲线颜色根据radio button的选项实时变化,ColorStr是一个全局变量Radio(2)=uicontrol(FigWin,.Style,Radio,.Position,50 215 100 30,.String,Draw in Green,.CallBack,.n=2;.if get(Radio(2),Value)=1;.set(Radio(1:(n-1),(n+1):RadioNum),Value,0);.else;.set(Radio(2

4、),Value,1);.end;.ColorStr=g;.set(FunHandle,Color,green);Radio(3)=uicontrol(FigWin,.Style,Radio,.Position,50 175 100 30,.String,Draw in Blue,.CallBack,.n=3;.if get(Radio(3),Value)=1;.set(Radio(1:(n-1),(n+1):RadioNum),Value,0);.else;.set(Radio(3),Value,1);.end;.ColorStr=b;.set(FunHandle,Color,blue);pu

5、sh1=uicontrol(FigWin,.Style,pushbutton,.Position,50 135 100 30,.String,Plot sin(x),.CallBack,.subplot(AxesHandle); .%注意父对象是AxesHandle而非FigWin!参备注x=0:.1:4*pi;.FunHandle=plot(x,sin(x),ColorStr);.%ColorStr变量的值受radiobutton控制axis(0 4*pi -1 1);.grid on;.xlabel(x);.ylabel(y=sin(x););push2=uicontrol(FigWin,

6、.Style,pushbutton,.Position,50 95 100 30,.String,Plot cos(x),.CallBack,.subplot(AxesHandle); .x=0:.1:4*pi;.FunHandle=plot(x,cos(x),ColorStr);.axis(0 4*pi -1 1);.grid on;.xlabel(x);.ylabel(y=cos(x););push3=uicontrol(FigWin,.Style,pushbutton,.Position,50 55 100 30,.String,Grid off,.CallBack,grid off;)

7、;%参备注push4=uicontrol(FigWin,.Style,pushbutton,.Position,50 15 100 30,.String,Exit,.CallBack,close(FigWin);%绘制初始曲线ColorStr=r;set(Radio(1),Value,1);X=0:0.1:4*pi;FunHandle=plot(X,sin(X),ColorStr);axis(0 4*pi -1 1);xlabel(x);ylabel(y=sin(x);grid on;运行结果:/有些注意的地方用红色标识。备注:例如在屏幕上建立一个按钮,点击绘制正弦曲线:push1=uicon

8、trol(FigWin,.Style,pushbutton,.Position,50 135 100 30,.String,Plot sin(x),.CallBack,.subplot(AxesHandle);.x=0:.1:4*pi;.plot(x,sin(x);.axis(0 4*pi -1 1);.grid on.xlabel(x);.ylabel(y=sin(x););出错:? Error using = grid at 104Unknown command option.? Error while evaluating uicontrol Callback在grid on后添加分号,

9、正确;对于CallBack参数,后面的矩阵(里的内容)给出(点击按钮后)要执行的命令序列,表示其是一个矩阵,矩阵元素之间可以接受空格、逗号,如:subplot(AxesHandle);,.或subplot(AxesHandle); .,或者后面用了续行符.也可以不加逗号或空格(没有续行符时矩阵元素之间必须要有分隔符逗号或空格)。如果只有单个语句也可以不用(如CallBack,grid off;),但每个语句后必须给出分号“;”,在Command Window中,对于grid on这种控制语句是可以不写分号的。另外,因为语句xlabel(x)已处于一个单引号中,故x要使用两对单引号(要不然,x中

10、的左单引号就和句首的单引号配对了,显然不对)。如果else后面没有分号,如:else.运行时会出错:? Undefined function or method elseset for input arguments of typedouble.? Error while evaluating uicontrol Callback%将else与下行的set视为一体了备注:如果将那行改为subplot(FigWin); .则运行出错:? Error using = subplot at 141Index must be a 3-digit number of the format mnp.? E

11、rror while evaluating uicontrol Callback原因:subplot(h)只接受axes对象h,而不接受figure对象,参下图:如果将subplot改为plot可行吗?不行,提示出错:? Error using = plotNot enough input arguments.? Error while evaluating uicontrol Callback? Error using = plotNot enough input arguments./plot没有此用法:subplot才有此用法:subplot(h) makes the axes object with handle h current for subsequent plotting commands.subplot有两个作用:A、创建子绘图区域;B、起到焦点转移的作用。曲线绘制命令(函数)还是plot备注:同理,如果改成:Radio(1)=uicontrol(AxesHandle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论