收藏 分享(赏)

matlab实用程序百例之界面设计篇.doc

上传人:dzzj200808 文档编号:2312114 上传时间:2018-09-10 格式:DOC 页数:64 大小:358.50KB
下载 相关 举报
matlab实用程序百例之界面设计篇.doc_第1页
第1页 / 共64页
matlab实用程序百例之界面设计篇.doc_第2页
第2页 / 共64页
matlab实用程序百例之界面设计篇.doc_第3页
第3页 / 共64页
matlab实用程序百例之界面设计篇.doc_第4页
第4页 / 共64页
matlab实用程序百例之界面设计篇.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、1-32 是:图形应用篇33-66 是:界面设计篇67-84 是:图形处理篇85-100 是:数值分析篇实例 33:曲线转换按钮h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 33);x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhuidiao=.if i=1,.i=0;,.y=cos(x);,.delete(h),.set(hm,string,正弦函数),.h=plot(x,y);,.grid on,.else if i=0,.i=1;,.y=sin(x);,.set(hm,string,

2、余弦函数),.delete(h),.h=plot(x,y);,.grid on,.end,.end;hm=uicontrol(gcf,style,pushbutton,.string,余弦函数,.callback,huidiao);i=1;set(hm,position,250 20 60 20);set(gca,position,0.2 0.2 0.6 0.6)title(按钮的使用)hold on实例 34:栅格控制按钮h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 34);x=0:0.5:2*pi;y=sin(x);pl

3、ot(x,y)huidiao1=.set(h_toggle2,value,0),.grid on,.;huidiao2=.set(h_toggle1,value,0),.grid off,.;h_toggle1=uicontrol(gcf,style,togglebutton,.string,grid on,.value,0,.position,20 45 50 20,.callback,huidiao1);h_toggle2=uicontrol(gcf,style,togglebutton,.string,grid off,.value,0,.position,20 20 50 20,.ca

4、llback,huidiao2);set(gca,position,0.2 0.2 0.6 0.6)title(开关按钮的使用)实例 35:编辑框的使用h0=figure(toolbar,none,.position,200 150 350 250,.name,实例 35);f=Please input the letter;huidiao1=.g=upper(f);,.set(h2_edit,string,g),.;huidiao2=.g=lower(f);,.set(h2_edit,string,g),.;h1_edit=uicontrol(gcf,style,edit,.position

5、,100 200 100 50,.HorizontalAlignment,left,.string,Please input the letter,.callback,f=get(h1_edit,string);,.background,w,.max,5,.min,1);h2_edit=uicontrol(gcf,style,edit,.HorizontalAlignment,left,.position,100 100 100 50,.background,w,.max,5,.min,1);h1_button=uicontrol(gcf,style,pushbutton,.string,小写

6、变大写,.position,100 45 100 20,.callback,huidiao1);h2_button=uicontrol(gcf,style,pushbutton,.string,大写变小写,.position,100 20 100 20,.callback,huidiao2);实例 36:弹出式菜单h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 36);x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhm=uicontrol(gcf,style,popupmenu,.strin

7、g,.sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x),.position,250 20 50 20);set(hm,value,1)huidiao=.v=get(hm,value);,.switch v,.case 1,.delete(h),.y=sin(x);,.h=plot(x,y);,.grid on,.case 2,.delete(h),.y=cos(x);,.h=plot(x,y);,.grid on,.case 3,.delete(h),.y=sin(x)+cos(x);,.h=plot(x,y);,.grid on,.case 4,.delete(

8、h),.y=exp(-sin(x);,.h=plot(x,y);,.grid on,.end;set(hm,callback,huidiao)set(gca,position,0.2 0.2 0.6 0.6)title(弹出式菜单的使用)实例 37:滑标的使用h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 37);x,y=meshgrid(-8:0.5:8);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;h0=mesh(x,y,z);h1=axes(position,.0.2 0.2 0.5 0.5,.vis

9、ible,off);htext=uicontrol(gcf,.units,points,.position,20 30 45 15,.string,brightness,.style,text);hslider=uicontrol(gcf,.units,points,.position,10 10 300 15,.min,-1,.max,1,.style,slider,.callback,.brighten(get(hslider,value);实例 38:多选菜单h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 38);x,y

10、=meshgrid(-8:0.5:8);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;h0=mesh(x,y,z);hlist=uicontrol(gcf,style,listbox,.string,default|spring|summer|autumn|winter,.max,5,.min,1,.position,20 20 80 100,.callback,.k=get(hlist,value);,.switch k,.case 1,.colormap default,.case 2,.colormap spring,.case 3,.colormap summer,.

11、case 4,.colormap autumn,.case 5,.colormap winter,.end);实例 39:菜单控制的使用h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 39);x=0:0.5:2*pi;y=cos(x);h=plot(x,y);grid onset(gcf,toolbar,none)hm=uimenu(label,example);huidiao1=.set(hm_gridon,checked,on),.set(hm_gridoff,checked,off),.grid on;huidiao2=

12、.set(hm_gridoff,checked,on),.set(hm_gridon,checked,off),.grid off;hm_gridon=uimenu(hm,label,grid on,.checked,on,.callback,huidiao1);hm_gridoff=uimenu(hm,label,grid off,.checked,off,.callback,huidiao2);实例 40:UIMENU 菜单的应用h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 40);h1=uimenu(gcf,label

13、,函数);h11=uimenu(h1,label,轮廓图,.callback,.set(h31,checked,on),.set(h32,checked,off),.x,y,z=peaks;,.contour3(x,y,z,30);h12=uimenu(h1,label,高斯分布,.callback,.set(h31,checked,on),.set(h32,checked,off),.mesh(peaks);,.axis tight);h13=uimenu(h1,label,Sinc 函数 ,.callback,.set(h31,checked,on),.set(h32,checked,of

14、f),.x,y=meshgrid(-8:0.5:8);,.r=sqrt(x.2+y.2)+eps;,.z=sin(r)./r;,.mesh(x,y,z);h2=uimenu(gcf,label,色彩);hl2(1)=uimenu(h2,label,Default,.checked,on,.callback,.set(hl2,checked,off),.set(hl2(1),checked,on),.colormap(default);hl2(2)=uimenu(h2,label,spring,.callback,.set(hl2,checked,off),.set(hl2(2),checked

15、,on),.colormap(spring);hl2(3)=uimenu(h2,label,Summer,.callback,.set(hl2,checked,off),.set(hl2(3),checked,on),.colormap(summer);hl2(4)=uimenu(h2,label,Autumn,.callback,.set(hl2,checked,off),.set(hl2(4),checked,on),.colormap(autumn);hl2(5)=uimenu(h2,label,Winter,.callback,.set(hl2,checked,off),.set(hl

16、2(5),checked,on),.colormap(winter);h3=uimenu(gcf,label,坐标选项);h31=uimenu(h3,label,Axis on,.callback,.axis on,.set(h31,checked,on),.set(h32,checked,off);h32=uimenu(h3,label,Axis off,.callback,.axis off,.set(h32,checked,on),.set(h31,checked,off);实例 41:除法计算器h=figure(toolbar,none,.position,200 150 450 25

17、0,.name,实例 41);h1=uicontrol(gcf,style,edit,.position,80 200 100 20,.HorizontalAlignment,right,.callback,m=get(h1,string);,.a=str2num(m););h2=uicontrol(gcf,style,edit,.HorizontalAlignment,right,.position,80 150 100 20,.callback,n=get(h2,string);,.b=str2num(n););h3=uicontrol(gcf,style,text,.string,被除数

18、,.position,80 230 100 20);h4=uicontrol(gcf,style,edit,.position,80 50 100 20);h5=uicontrol(gcf,style,pushbutton,.position,80 100 100 20,.string,=,.callback,.if b=0,.h7=errordlg(除数不能为 0!,error,on);,.else,.k=a/b;,.c=num2str(k);,.set(h4,string,c),.end);h8=uicontrol(gcf,style,text,.string,除数,.position,8

19、0 175 100 20);h9=uicontrol(gcf,style,text,.string,商,.position,80 75 100 20);实例 42:单选框的使用h0=figure(toolbar,none,.position,200 150 450 250,.name,实例 42);x=0:0.5:2*pi;y=sin(x);plot(x,y)grid onset(gcf,toolbar,none)g=set(gca,position,0.2 0.2 0.6 0.6);huidiao1=.grid on,.set(box_on,value,1),.set(box_off,val

20、ue,0),;huidiao2=.grid off,.set(box_off,value,1),.set(box_on,value,0),;box_on=uicontrol(gcf,style,radio,.position,5 50 50 20,.string,grid on,.value,1,.callback,huidiao1);box_off=uicontrol(gcf,style,radio,.position,5 20 50 20,.string,grid off,.value,0,.callback,huidiao2);title(无线按钮的使用)实例 43:添加环境效果h0=f

21、igure(toolbar,none,.position,198 56 450 468,.name,实例 43);h1=axes(parent,h0,.position,0.15 0.45 0.7 0.5,.visible,off);sphereh=findobj(type,surface);shading interpaxis equall=light(position,0 -2 1);k(1)=get(h,specularstrength);k(2)=get(h,diffusestrength);k(3)=get(h,specularexponent);k(4)=get(h,specula

22、rcolorreflectance);u1=uimenu(parent,h0,.label,灯光效果,.tag,u1,.backgroundcolor,0.75 0.75 0.75);u11=uimenu(parent,u1,.label,gouraud,.tag,u11,.backgroundcolor,0.75 0.75 0.75,.callback,.set(u11,checked,on);,.set(u12,checked,off);,.set(h,facelighting,gouraud);u12=uimenu(parent,u1,.label,phong,.tag,u12,.bac

23、kgroundcolor,0.75 0.75 0.75,.callback,.set(u11,checked,off);,.set(u12,checked,on);,.set(h,facelighting,gouraud);u2=uimenu(parent,h0,.label,背面灯光,.tag,u2,.backgroundcolor,0.75 0.75 0.75);u21=uimenu(parent,u2,.label,reverselit,.tag,u21,.checked,on,.backgroundcolor,0.75 0.75 0.75,.callback,.set(u21,chec

24、ked,on);,.set(u22,checked,off);,.set(h,backfacelighting,reverselit);u22=uimenu(parent,u2,.label,reverselit,.tag,u22,.backgroundcolor,0.75 0.75 0.75,.callback,.set(u21,checked,off);,.set(u22,checked,on);,.set(h,backfacelighting,reverselit);s1=uicontrol(parent,h0,.units,points,.style,slider,.tag,s1,.m

25、in,0,.max,1,.value,k(1),.position,20 80 100 15,.callback,.s1value=get(s1,value);,.set(h,specularstrength,s1value);t1=uicontrol(parent,h0,.units,points,.style,text,.tag,t1,.string,镜面反射强度,.position,20 97 100 15);s2=uicontrol(parent,h0,.units,points,.style,slider,.tag,s2,.min,0,.max,1,.value,k(2),.posi

26、tion,20 30 100 15,.callback,.s2value=get(s2,value);,.set(h,diffusestrength,s2value);t2=uicontrol(parent,h0,.units,points,.style,text,.tag,t2,.string,漫反射强度,.position,20 47 100 15);s3=uicontrol(parent,h0,.units,points,.style,slider,.tag,s3,.min,0.1,.max,1,.value,k(3)/20,.position,220 80 100 15,.callba

27、ck,.s3value=get(s3,value)+eps;,.set(h,specularexponent,20*s3value);t3=uicontrol(parent,h0,.units,points,.style,text,.tag,t3,.string,镜面指数,.position,220 97 100 15);s4=uicontrol(parent,h0,.units,points,.style,slider,.tag,s4,.min,0,.max,1,.value,k(4),.position,220 30 100 15,.callback,.s4value=get(s4,val

28、ue);,.set(h,specularcolorreflectance,s4value);t4=uicontrol(parent,h0,.units,points,.style,text,.tag,t1,.string,镜面颜色反射比,.position,220 47 100 15);b1=uicontrol(parent,h0,.units,points,.style,pushbutton,.tag,b1,.string,关闭,.position,145 45 50 30,.callback,close);实例 44:改变坐标轴范围h0=figure(toolbar,none,.posit

29、ion,198 56 408 468,.name,实例 44);h1=axes(parent,h0,.position,0.15 0.45 0.7 0.5,.visible,on);e1=uicontrol(parent,h0,.style,edit,.string,1,.position,50 120 50 20);t1=uicontrol(parent,h0,.style,text,.string,X 轴最小值 ,.position,35 150 80 20);e2=uicontrol(parent,h0,.style,edit,.string,5,.position,50 60 50 2

30、0);t2=uicontrol(parent,h0,.style,text,.string,X 轴最大值 ,.position,35 90 80 20);e3=uicontrol(parent,h0,.style,edit,.string,1,.position,150 120 50 20);t3=uicontrol(parent,h0,.style,text,.string,Y 轴最小值 ,.position,135 150 80 20);e4=uicontrol(parent,h0,.style,edit,.string,5,.position,150 60 50 20);t4=uicon

31、trol(parent,h0,.style,text,.string,Y 轴最大值 ,.position,135 90 80 20);e5=uicontrol(parent,h0,.style,edit,.string,20,.position,250 120 50 20);t5=uicontrol(parent,h0,.style,text,.horizontalalignment,left,.string,点数,.position,250 150 30 20);b1=uicontrol(parent,h0,.style,pushbutton,.string,绘图,.position,250

32、 60 60 40,.callback,.a=str2num(get(e1,string);,.b=str2num(get(e2,string);,.c=str2num(get(e3,string);,.d=str2num(get(e4,string);,.n=str2num(get(e5,string);,.xgrid=linspace(-abs(a),abs(a),n);,.ygrid=linspace(-abs(b),abs(b),n);,.x,y=meshgrid(xgrid,ygrid);,.z=c*sqrt(d-y.*y/b/b-x.*x/a/a);,.u=1;,.z1=real(

33、z);,.for k=2:n-1,.for j=2:n-1,.if imag(z(k,j)=0,.z1(k,j)=0;,.end,.if all(imag(z(k-1:k+1,j-1:j+1)=0,.z1(k,j)=nan;,.end,.end,.end,.surf(x,y,z1),.hold on,.if u=1,.z2=-z1;,.surf(x,y,z2),.axis(-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c);,.end,.xlabel(x);,.ylabel(y);,.zlabel(z);,.hold off);b2=uicontrol(p

34、arent,h0,.style,pushbutton,.string,关闭,.position,150 10 60 20,.callback,close);实例 45:简单运算器h1=uicontrol(gcf,style,radio,.string,加,.value,1,.position,20 150 40 20,.callback,.k=1;,.set(h1,value,1),.set(h2,value,0),.set(h3,value,0);h2=uicontrol(gcf,style,radio,.string,减,.position,20 110 40 20,.callback,.

35、k=2;,.set(h2,value,1),.set(h1,value,0),.set(h3,value,0);h3=uicontrol(gcf,style,radio,.string,乘,.position,20 70 40 20,.callback,.k=3;,.set(h3,value,1),.set(h2,value,0),.set(h1,value,0);e1=uicontrol(gcf,style,edit,.position,80 150 100 20);e2=uicontrol(gcf,style,edit,.position,80 110 100 20);e3=uicontr

36、ol(gcf,style,edit,.position,80 70 100 20);b1=uicontrol(gcf,style,pushbutton,.string,运算,.position,200 150 80 30,.callback,.x=str2num(get(e1,string);,.y=str2num(get(e2,string);,.switch k,.case 1,.z=x+y;,.case 2,.z=x-y;,.case 3,.z=x*y;,.end,.set(e3,string,num2str(z);b2=uicontrol(gcf,style,pushbutton,.s

37、tring,退出,.position,200 100 80 30,.callback,close);实例 46:曲线色彩的修改h0=figure(toolbar,none,.position,198 56 408 468,.name,my second gui);h1=axes(parent,h0,.position,0.15 0.45 0.7 0.5,.visible,on);x=0:0.1:2*pi;k=plot(x,sin(x);xlabel(自变量 X);ylabel(函数值 Y);title(图形色彩改变);p1=uicontrol(parent,h0,.style,pushbutt

38、on,.backgroundcolor,r,.position,60 100 50 30,.callback,set(k,color,r);p2=uicontrol(parent,h0,.style,pushbutton,.backgroundcolor,g,.position,170 100 50 30,.callback,set(k,color,g);p3=uicontrol(parent,h0,.style,pushbutton,.backgroundcolor,b,.position,280 100 50 30,.callback,set(k,color,b);p4=uicontrol

39、(parent,h0,.style,pushbutton,.backgroundcolor,1 1 1,.fontsize,20,.fontweight,demi,.string,关闭,.position,150 30 80 60,.callback,close);t1=uicontrol(parent,h0,.style,text,.string,红色,.fontsize,12,.fontweight,demi,.position,60 120 50 20);t2=uicontrol(parent,h0,.style,text,.string,绿色,.fontsize,12,.fontwei

40、ght,demi,.position,170 120 50 20);t3=uicontrol(parent,h0,.style,text,.string,蓝色,.fontsize,12,.fontweight,demi,.position,280 120 50 20实例 47:曲线标记h0=figure(toolbar,none,.position,198 56 408 468,.name,my second gui);h1=axes(parent,h0,.position,0.15 0.45 0.7 0.5,.visible,on);x=0:0.1:2*pi;k=plot(x,sin(x),

41、*);xlabel(自变量 X);ylabel(函数值 Y);title(标记类型的改变);p1=uicontrol(parent,h0,.style,pushbutton,.string,+,.fontsize,20,.foregroundcolor,1 1 1,.backgroundcolor,0 0 0,.position,60 100 50 20,.callback,set(k,marker,+);p2=uicontrol(parent,h0,.style,pushbutton,.string,o,.fontsize,20,.foregroundcolor,1 1 1,.backgroundcolor,0 0 0,.po

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报