




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某大型房地产公司合同
- 小麦秸秆购销合同
- 酒店管理与经营合作协议
- 建筑工地承包食堂的合同
- 重庆市居间合同
- 人教版五年级下册求最大公因数练习100题及答案
- Unit 5 Launching your career Apply for a summer job教学设计-2024-2025学年高中英语人教版(2019)选择性必修第四册
- 2025年云安全服务项目建议书
- 24《司马光》教学设计-2024-2025学年语文三年级上册统编版
- 油罐区智能防雷接地设计方案
- 人因工程学第1章人因工程学概述
- 热烈欢迎领导莅临指导工作动态PPT模板
- 生产管理的目标QCDSM
- 战地卫生与救护教案培训讲学
- 2022版《义务教育数学课程标准》测试题
- 全面介绍现货中远期交易
- 公安系防暴安全03安检
- 四年级下册音乐课件第一课时-感知音乐中的旋律三
- 部编版六年级道德与法治下册《学会反思》教案
- 部编版四年级下册语文教案(完整)
- T∕CIS 71001-2021 化工安全仪表系统安全要求规格书编制导则
评论
0/150
提交评论