matlab教程第十章图形用户界面gui制作(编辑修改稿)内容摘要:

,2*pi])。 set(gcf,39。 defaultuicontrolhorizontal39。 ,39。 left39。 )。 htitle=title(39。 正弦曲线 39。 )。 set(gcf,39。 defaultuicontrolfontsize39。 ,12)。 uicontrol(39。 style39。 ,39。 frame39。 ,... % 11 39。 position39。 ,[,])。 uicontrol(39。 style39。 ,39。 text39。 ,... % 13 39。 string39。 ,39。 正斜体图名 :39。 ,... 39。 position39。 ,[,],... 39。 horizontal39。 ,39。 left39。 )。 hr1=uicontrol(gcf,39。 style39。 ,39。 radio39。 ,... % 17 39。 string39。 ,39。 正体 39。 ,... 12 39。 position39。 ,[,])。 set(hr1,39。 value39。 ,get(hr1,39。 Max39。 ))。 % 20 set(hr1,39。 callback39。 ,[... % 21 39。 set(hr1,39。 39。 value39。 39。 ,get(hr1,39。 39。 max39。 39。 )),39。 ,... % 22 39。 set(hr2,39。 39。 value39。 39。 ,get(hr2,39。 39。 min39。 39。 )),39。 ,... % 23 39。 set(htitle,39。 39。 fontangle39。 39。 ,39。 39。 normal39。 39。 ),39。 ,... ])。 hr2=uicontrol(gcf,39。 style39。 ,39。 radio39。 ,... % 26 39。 string39。 ,39。 斜体 39。 ,... 39。 position39。 ,[,],... 39。 callback39。 ,[... 39。 set(hr1,39。 39。 value39。 39。 ,get(hr1,39。 39。 min39。 39。 )),39。 ,... % 30 39。 set(hr2,39。 39。 value39。 39。 ,get(hr2,39。 39。 max39。 39。 )),39。 ,... % 31 39。 set(htitle,39。 39。 fontangle39。 39。 ,39。 39。 italic39。 39。 )39。 ,... ])。 % 33 ht=uicontrol(gcf,39。 style39。 ,39。 toggle39。 ,... % 34 39。 string39。 ,39。 Grid39。 ,... 39。 position39。 ,[,],... 39。 callback39。 ,39。 grid39。 )。 图 静态文本框、滑动键、检录框示例 【例 】目标:制作演示“归一化二阶系统单位阶跃响应”的交互界面。 在该界面中,阻尼比可在 [,]中连续调节,标志当前阻尼比值;可标志峰值时间和大小;可标志(响应从 0到 )上升时间。 本例涉及以下主要内容:( A)静态文本的创建和实时改写。 ( B)滑动键的创建; 39。 Max39。 和 39。 Min39。 的设置; 39。 Value39。 的设置和获取。 ( C)检录框的创建; 39。 Value39。 的获取。 ( D)受多个控件影响的回调操作。 [] clf reset set(gcf,39。 unit39。 ,39。 normalized39。 ,39。 position39。 ,[,])。 set(gcf,39。 defaultuicontrolunits39。 ,39。 normalized39。 )。 set(gcf,39。 defaultuicontrolfontsize39。 ,12)。 set(gcf,39。 defaultuicontrolfontname39。 ,39。 隶书 39。 )。 set(gcf,39。 defaultuicontrolhorizontal39。 ,39。 left39。 )。 str=39。 归一化二阶系统阶跃响应曲线 39。 set(gcf,39。 name39。 ,str,39。 numbertitle39。 ,39。 off39。 )。 h_axes=axes(39。 position39。 ,[,])。 13 set(h_axes,39。 xlim39。 ,[0,15])。 str1=39。 当前阻尼比 =39。 t=0::10。 z=。 y=step(1,[1 2*z 1],t)。 hline=plot(t,y)。 htext=uicontrol(gcf,39。 style39。 ,39。 text39。 ,... % 14 39。 position39。 ,[,],... 39。 string39。 ,[str1,sprintf(39。 %\39。 ,z)])。 hslider=uicontrol(gcf,39。 style39。 ,39。 slider39。 ,... % 17 39。 position39。 ,[,],... 39。 max39。 ,39。 min39。 ,... % 19 39。 sliderstep39。 ,[,],... % 20 39。 Value39。 ,)。 % 21 hcheck1=uicontrol(gcf,39。 style39。 ,39。 checkbox39。 ,... % 22 39。 string39。 ,39。 最大峰值 39。 ,... 39。 position39。 ,[,])。 vchk1=get(hcheck1,39。 value39。 )。 % 25 hcheck2=uicontrol(gcf,39。 style39。 ,39。 checkbox39。 ,... % 26 39。 string39。 ,39。 上升时间 (0)39。 ,... 39。 position39。 ,[,])。 vchk2=get(hcheck2,39。 value39。 )。 % 29 set(hslider,39。 callback39。 ,[... % 30 39。 z=get(gcbo,39。 39。 value39。 39。 )。 39。 ,... % 31 39。 callcheck(htext,str1,z,vchk1,vchk2)39。 ])。 % 32 set(hcheck1,39。 callback39。 ,[... % 33 39。 vchk1=get(gcbo,39。 39。 value39。 39。 )。 39。 ,... % 34 39。 callcheck(htext,str1,z,vchk1,vchk2)39。 ])。 % 35 set(hcheck2,39。 callback39。 ,[... % 36 39。 vchk2=get(gcbo,39。 39。 value39。 39。 )。 39。 ,... % 37 39。 callcheck(htext,str1,z,vchk1,vchk2)39。 ])。 % 38 [] function callcheck(htext,str1,z,vchk1,vchk2) cla,set(htext,39。 string39。 ,[str1,sprintf(39。 %\39。 ,z)])。 % 2 dt=。 t=0:dt:15。 N=length(t)。 y=step(1,[1 2*z 1],t)。 plot(t,y)。 if vchk1 % 4 [ym,km]=max(y)。 if km(N3) % 6 k1=km3。 k2=km+3。 k12=k1:k2。 tt=t(k12)。 yy=spline(t(k12),y(k12),tt)。 % 8 [yym,kkm]=max(yy)。 line(tt(kkm),yym,39。 marker39。 ,39。 .39。 ,... % 10 39。 markeredgecolor39。 ,39。 r39。 ,39。 markersize39。 ,20)。 ystr=[39。 ymax = 39。 ,sprintf(39。 %\39。 ,yym)]。 tstr=[39。 tmax = 39。 ,sprintf(39。 %\39。 ,tt(kkm))]。 text(tt(kkm),*yym,{ystr。 tstr}) else % 15 text(10,*y(end),{39。 ymax 139。 39。 tmax inf39。 }) end 14 end if vchk2 % 19 k95=min(find(y))。 k952=[(k951),k95]。 t95=interp1(y(k952),t(k952),)。 % 21 line(t95,39。 marker39。 ,39。 o39。 ,39。 markeredgecolor39。 ,39。 k39。 ,39。 markersize39。 ,6)。 tstr95=[39。 t95 = 39。 ,sprintf(39。 %\39。 ,t95)]。 text(t95,tstr95) end 图 可编辑框、弹出框、列表框、按键示例 【例 】目标:制作一个能绘制任意图形的交互界面。 它包括:可编辑文本框、弹出框、列表框。 本例的关键内容是:如何使编辑框允许输入多行指令。 [] clf reset % 1 set(gcf,39。 unit39。 ,39。 no。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。