matlab实用程序(四)

来源:互联网 发布:mac系统下载office 编辑:程序博客网 时间:2024/06/05 23:57

1. 曲线标记

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','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],...    'position',[170 100 50 20],...    'callback','set(k,''marker'',''o'')');p3=uicontrol('parent',h0,...    'style','pushbutton',...    'string','x',...    'fontsize',20,...    'foregroundcolor',[1 1 1],...    'backgroundcolor',[0 0 0],...    'position',[280 100 50 20],...    'callback','set(k,''marker'',''x'')');p4=uicontrol('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,...    'fontweight','demi',...    'position',[170 120 50 20]);t3=uicontrol('parent',h0,...    'style','text',...    'string','叉号',...    'fontsize',12,...    'fontweight','demi',...    'position',[280 120 50 20]);

2. 修改曲线:

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例48');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','pushbutton',...    'string','-.',...    'fontsize',20,...    'foregroundcolor',[1 1 1],...    'backgroundcolor',[0 0 0],...    'position',[60 100 50 20],...    'callback','set(k,''linestyle'',''-.'')');p2=uicontrol('parent',h0,...    'style','pushbutton',...    'string',':',...    'fontsize',20,...    'foregroundcolor',[1 1 1],...    'backgroundcolor',[0 0 0],...    'position',[170 100 50 20],...    'callback','set(k,''linestyle'','':'')');p3=uicontrol('parent',h0,...    'style','pushbutton',...    'string','-',...    'fontsize',20,...    'foregroundcolor',[1 1 1],...    'backgroundcolor',[0 0 0],...    'position',[280 100 50 20],...    'callback','set(k,''linestyle'',''-'')');p4=uicontrol('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,...    'fontweight','demi',...    'position',[170 120 50 20]);t3=uicontrol('parent',h0,...    'style','text',...    'string','实线',...    'fontsize',12,...    'fontweight','demi',...    'position',[280 120 50 20]);


3. 指定坐标轴范围

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例49');h1=axes('parent',h0,...    'position',[0.15 0.45 0.7 0.5],...    'visible','on');x=0:0.1:2*pi;y=sin(x);plot(x,y);xlabel('X');ylabel('Y');title('坐标轴范围的改变');h=get(gca,'xlim');k=get(gca,'ylim');e1=uicontrol('parent',h0,...    'style','edit',...    'string',eval(num2str(h(1))),...    'horizontalalignment','right',...    'position',[80 120 100 20]);t1=uicontrol('parent',h0,...    'style','text',...    'string','X轴最小值',...    'position',[100 145 80 20]);e2=uicontrol('parent',h0,...    'style','edit',...    'string',eval(num2str(h(2))),...    'horizontalalignment','right',...    'position',[80 60 100 20]);t2=uicontrol('parent',h0,...    'style','text',...    'string','X轴最大值',...    'position',[100 85 80 20]);e3=uicontrol('parent',h0,...    'style','edit',...    'string',eval(num2str(k(1))),...    'horizontalalignment','right',...    'position',[250 120 100 20]);t3=uicontrol('parent',h0,...    'style','text',...    'string','Y轴最小值',...    'position',[270 145 80 20]);e4=uicontrol('parent',h0,...    'style','edit',...    'string',eval(num2str(k(2))),...    'horizontalalignment','right',...    'position',[250 60 100 20]);t4=uicontrol('parent',h0,...    'style','text',...    'string','X轴最小值',...    'position',[270 85 80 20]);p1=uicontrol('parent',h0,...    'style','pushbutton',...    'string','设置',...    'position',[105 10 50 30],...    'callback',[...        'a=str2num(get(e1,''string''));,',...        'b=str2num(get(e2,''string''));,',...        'c=str2num(get(e3,''string''));,',...        'd=str2num(get(e4,''string''));,',...        'axis([a b c d]),',...        'drawnow']);p2=uicontrol('parent',h0,...    'style','pushbutton',...    'string','关闭',...    'position',[275 10 50 30],...    'callback','close');

5. 绘制不同函数曲线的用户界面

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例50');h1=axes('parent',h0,...    'position',[0.29 0.45 0.7 0.5],...    'visible','on');f=uicontrol('parent',h0,...    'style','frame',...    'position',[5 50 90 400]);p1=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[150 100 60 40],...    'string','绘图',...    'callback',[...        'm=str2num(get(e1,''string''));,',...        'n=str2num(get(e2,''string''));,',...        'a=get(l1,''value'');,',...        'x=m:0.1:n;',...        'if a==1,',...        'plot(x,sin(x)),',...        'end,',...        'if a==2,',...        'plot(x,cos(x)),',...        'end,',...        'if a==3,',...        'plot(x,exp(x)),',...        'end']);p2=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[270 100 60 40],...    'string','关闭',...    'callback','close');l1=uicontrol('parent',h0,...    'style','listbox',...    'position',[10 300 80 80],...    'string','sin(x)|cos(x)|exp(x)',...    'value',1,...    'max',0.5,...    'min',0);f2=uicontrol('parent',h0,...    'style','text',...    'string','选择函数',...    'fontsize',10,...    'position',[10 380 80 20]);r1=uicontrol('style','radio',...    'string','grid on',...    'value',0,...    'position',[10 100 60 20],...    'callback',[...        'grid on,',...        'set(r1,''value'',1);,',...        'set(r2,''value'',0)']);r2=uicontrol('style','radio',...    'string','grid off',...    'position',[10 80 60 20],...    'value',1,...    'callback',[...        'grid off,',...        'set(r2,''value'',1);,',...        'set(r1,''value'',0)']);e1=uicontrol('parent',h0,...    'style','edit',...    'string',0,...    'position',[20 210 60 20],...    'horizontalalignment','right');e2=uicontrol('parent',h0,...    'style','edit',...    'string','3',...    'position',[20 150 60 20],...    'horizontalalignment','right');t1=uicontrol('parent',h0,...    'style','text',...    'string','X from',...    'fontsize',10,...    'position',[20 230 60 20],...    'horizontalalignment','center');t2=uicontrol('parent',h0,...    'style','text',...    'string','To',...    'fontsize',10,...    'position',[20 170 60 20],...    'horizontalalignment','center');

6. 可设置函数曲线图视角的用户界面

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例51');h1=axes('parent',h0,...    'position',[0.15 0.45 0.7 0.5],...    'visible','off');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;f1=surf(x,y,z);shading interpview(-50,30)camlight leftcolormap([1 0 0])fv=get(h0,'colormap');ifv=fv;p1=uicontrol('parent',h0,...    'style','pushbutton',...    'string','重置',...    'position',[280 120 50 30],...    'callback',[...        'set(s1,''value'',ifv(1));,',...        'set(s2,''value'',ifv(2));,',...        'set(s3,''value'',ifv(3));,',...        'set(h0,''colormap'',ifv)']);p2=uicontrol('parent',h0,...    'style','pushbutton',...    'string','关闭',...    'position',[280 60 50 30],...    'callback','close');s1=uicontrol('parent',h0,...    'style','slider',...    'min',0,...    'max',1,...    'value',fv(1),...    'position',[20 150 200 20],...    'callback',[...        's1k=get(s1,''value'');,',...        'fv(1)=s1k;,',...        'set(h0,''colormap'',fv);']);t1=uicontrol('parent',h0,...    'style','text',...    'string','改变红色成分',...    'position',[20 170 100 20]);s2=uicontrol('parent',h0,...    'style','slider',...    'min',0,...    'max',1,...    'value',fv(2),...    'position',[20 100 200 20],...    'callback',[...        's2k=get(s2,''value'');,',...        'fv(2)=s2k;,',...        'set(h0,''colormap'',fv);']);t2=uicontrol('parent',h0,...    'style','text',...    'string','改变绿色成分',...    'position',[20 120 100 20]);s3=uicontrol('parent',h0,...    'style','slider',...    'min',0,...    'max',1,...    'value',fv(3),...    'position',[20 50 200 20],...    'callback',[...        's3k=get(s3,''value'');,',...        'fv(3)=s3k;,',...        'set(h0,''colormap'',fv);']);t1=uicontrol('parent',h0,...    'style','text',...    'string','改变蓝色成分',...    'position',[20 70 100 20]); 

7. 可设置函数曲线图视角的用户界面

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例52');h1=axes('parent',h0,...    'position',[0.15 0.5 0.7 0.5],...    'visible','off');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;fh=surf(x,y,z);shading interpview([-60 30])fv=get(h1,'view');fv2=fv;camlight leftsh1=uicontrol('parent',h0,...    'style','slider',...    'max',1,...    'min',-1,...    'value',fv(1)/180,...    'position',[20 150 200 20],...    'callback',[...        'fv(1)=90*get(sh1,''value'');,',...        'set(h1,''view'',[fv(1) fv(2)]),',...        'set(ed1,''string'',fv(1))']);   text1=uicontrol('parent',h0,...    'style','text',...    'string','方位角的变化滑标',...    'position',[20 170 200 20]);sh2=uicontrol('parent',h0,...    'style','slider',...    'max',1,...    'min',-1,...    'value',fv(2)/180,...    'position',[20 90 200 20],...    'callback',[...        'fv(2)=90*get(sh2,''value'');,',...        'set(h1,''view'',[fv(1) fv(2)]),',...        'set(ed2,''string'',fv(2))']);text2=uicontrol('parent',h0,...    'style','text',...    'string','仰角的变化滑标',...    'position',[20 110 200 20]);ed1=uicontrol('parent',h0,...    'style','edit',...    'string',fv(1),...    'position',[30 30 50 20]);text3=uicontrol('parent',h0,...    'style','text',...    'string','方位角的数值',...    'position',[20 50 80 20]);ed2=uicontrol('parent',h0,...    'style','edit',...    'string',fv(2),...    'position',[150 30 50 20]);text4=uicontrol('parent',h0,...    'style','text',...    'string','仰角的数值',...    'position',[135 50 80 20]);pf1=uicontrol('parent',h0,...    'style','pushbutton',...    'string','重置',...    'position',[280 120 50 30],...    'callback',[...        'set(h1,''view'',fv2),',...        'set(sh1,''value'',fv2(1)/180),',...        'set(sh2,''value'',fv2(2)/180),',...        'set(ed1,''string'',fv2(1)),',...        'set(ed2,''string'',fv2(2))']);pf2=uicontrol('parent',h0,...    'style','pushbutton',...    'string','关闭',...    'position',[280 60 50 30],...    'callback','close'); 

8. 可设置函数曲线光源的用户界面

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例53');h1=axes('parent',h0,...    'position',[0.15 0.5 0.7 0.5],...    'visible','off');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;fh=surf(x,y,z);shading interpview([-60 30])camlight leftlightk=light('position',[0 -2 1]);button1=uicontrol('parent',h0,...    'style','pushbutton',...    'string','设置光线',...    'position',[80 60 70 30],...    'callback',[...        'an1=inputdlg(''光线来源的X轴坐标'');,',...        'k1=str2num(an1{1});,',...        'an2=inputdlg(''光线来源的Y轴坐标'');,',...        'k2=str2num(an2{1});,',...        'an3=inputdlg(''光线来源的Z轴坐标'');,',...        'k3=str2num(an3{1});,',...        'set(lightk,''position'',[k1 k2 k3]);,',...        'set(edit1,''string'',[''['',num2str(k1),'' '',num2str(k2),'' '',num2str(k3),'']'']);']);button2=uicontrol('parent',h0,...    'style','pushbutton',...    'string','关闭',...    'position',[250 60 70 30],...    'callback','close');edit1=uicontrol('parent',h0,...    'style','edit',...    'max',2,...    'min',0,...    'fontsize',15,...    'backgroundcolor',[1 1 1],...    'string','[0 -2 1]',...    'position',[80 110 220 30]);text1=uicontrol('parent',h0,...    'style','text',...    'backgroundcolor',[0.75 0.75 0.75],...    'fontsize',15,...    'string','光线来源坐标',...    'position',[80 140 220 30]);

9. 添加效果

h0=figure('toolbar','none',...    'position',[200 50 300 350],...    'name','实例54');h1=axes('parent',h0,...    'position',[0.2 0.4 0.6 0.6],...    'visible','off');ezsurf('sin(sqrt(x.^2+y.^2))/sqrt(x.^2+y.^2)',[-6*pi,6*pi])b1=uicontrol('parent',h0,...    'units','points',...    'tag','b1',...    'style','pushbutton',...    'string','设置',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[40 50 50 20],...    'callback',[...        'view(0,75);,',...        'shading interp;,',...        'lightangle(-45,30);,',...        'k=findobj(gca,''type'',''surface'');,'...        'set(k,''facelighting'',''phong'');,',...        'set(k,''ambientstrength'',0.3);,',...        'set(k,''diffusestrength'',0.8);,',...        'set(k,''specularstrength'',0.9);,',...        'set(k,''specularexponent'',25);,',...        'set(k,''backfacelighting'',''unlit'')']);b2=uicontrol('parent',h0,...    'units','points',...    'tag','b2',...    'style','pushbutton',...    'string','关闭',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[120 50 50 20],...    'callback','close');

10. 查询日期

h0=figure('toolbar','none',...    'position',[198 56 408 468],...    'name','实例55');h1=axes('parent',h0,...    'position',[0.15 0.5 0.7 0.5],...    'visible','off');huidiao=[...        'yearnum=str2num(get(edit1,''string''));,',...        'monthnum=str2num(get(edit2,''string''));,',...        'daynum=str2num(get(edit3,''string''));,',...        'monthday=[0 31 28 31 30 31 30 31 31 30 31 30 31];,',...        'dyear=yearnum-2000;,',...        'beishu=fix(dyear/4);,',...        'yushu=rem(yearnum,4);,',...        'if yushu==0,',...        'monthday(3)=29;,',...        'end,',...        'mday=0;,',...        'for i=1:monthnum,',...        'mday=monthday(i)+mday;,',...        'end,',...        'yearday=mday+daynum-1;,',...        'noweek=fix(yearday/7);,',...        'set(edit5,''string'',[''第'',num2str(noweek),''周'']);,',...        'if dyear>0,',...        'if yushu==0,',...        'beishu=beishu-1;,',...        'end,',...        'dday=yearday+365*dyear+beishu+1;,',...        'end,',...        'if dyear<=0,',...        'dday=365*dyear+yearday+beishu;,',...        'end,',...        'mweek=rem(dday,7)+7;,',...        'if mweek==8,',...        'set(edit4,''string'',''Sunday'');,',...        'end,',...        'if mweek==9,',...        'set(edit4,''string'',''Monday'');,',...        'end,',...        'if mweek==10,',...        'set(edit4,''string'',''Tuesday'');,',...        'end,',...        'if mweek==11,',...        'set(edit4,''string'',''Wednesday'');,',...        'end,',...        'if mweek==12,',...        'set(edit4,''string'',''Thursday'');,',...        'end,',...        'if mweek==13,',...        'set(edit4,''string'',''Friday'');,',...        'end,',...        'if mweek==7,',...        'set(edit4,''string'',''Saturday'');,',...        'end,',...        'if mweek==6,',...        'set(edit4,''string'',''Friday'');,',...        'end,',...        'if mweek==5,',...        'set(edit4,''string'',''Thursday'');,',...        'end,',...        'if mweek==4,',...        'set(edit4,''string'',''Wednesday'');,',...        'end,',...        'if mweek==3,',...        'set(edit4,''string'',''Tuesday'');,',...        'end,',...        'if mweek==2,',...        'set(edit4,''string'',''Monday'');,',...        'end,',...        'if mweek==1,',...        'set(edit4,''string'',''Sunday'');,',...        'end'];edit1=uicontrol('parent',h0,...    'style','edit',...    'horizontalalignment','right',...    'position',[40 300 50 20]);text1=uicontrol('parent',h0,...    'style','text',...    'string','年',...    'horizontalalignment','left',...    'position',[90 300 50 20]);edit2=uicontrol('parent',h0,...    'style','edit',...    'horizontalalignment','right',...    'position',[160 300 50 20]);text2=uicontrol('parent',h0,...    'style','text',...    'string','月',...    'horizontalalignment','left',...    'position',[210 300 50 20]);edit3=uicontrol('parent',h0,...    'style','edit',...    'horizontalalignment','right',...    'position',[280 300 50 20]);text3=uicontrol('parent',h0,...    'style','text',...    'string','日',...    'horizontalalignment','left',...    'position',[330 300 50 20]);edit4=uicontrol('parent',h0,...    'style','edit',...    'horizontalalignment','left',...    'position',[210 200 120 20]);text4=uicontrol('parent',h0,...    'style','text',...    'string','查找的日期为',...    'horizontalalignment','right',...    'position',[110 200 100 20]);edit5=uicontrol('parent',h0,...    'style','edit',...    'horizontalalignment','left',...    'position',[210 100 120 20]);text1=uicontrol('parent',h0,...    'style','text',...    'string','该日处于',...    'horizontalalignment','left',...    'position',[160 100 50 20]);button1=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[80 40 80 30],...    'string','开始',...    'callback',huidiao);button2=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[220 40 80 30],...    'string','关闭',...    'callback','close'); 

11. 图形效果(1)

h0=figure('toolbar','none',...    'position',[198 56 450 468],...    'name','实例56');h1=axes('parent',h0,...    'position',[0.3 0.45 0.5 0.5],...    'visible','off');l1=uimenu(gcf,'label','Draw figure',...    'tag','l1');huidiao=[...        'if get(r1,''value'')==1,',...        'shading faceted,',...        'end,',...        'if get(r2,''value'')==1,',...        'shading flat,',...        'end,',...        'if get(r3,''value'')==1,',...        'shading interp,',...        'end,',...        'k=get(p1,''value'');,',...        'switch k,',...        'case 1,',...        'colormap(''cool''),',...        'case 2,',...        'colormap(''spring''),',...        'case 3,',...        'colormap(''summer''),',...        'case 4,',...        'colormap(''autumn''),',...        'case 5,',...        'colormap(''winter''),',...        'end'];l11=uimenu('parent',l1,...    'label','Surface',...    'tag','l11',...    'callback',[...        '[x,y]=meshgrid(-8:0.5:8);,',...        'r=sqrt(x.^2+y.^2)+eps;,',...        'z=sin(r)./r;,',...        'surf(x,y,z),',...        huidiao]);l12=uimenu('parent',l1,...    'label','Mesh',...    'tag','l12',...    'callback',[...        'mesh(peaks),',...        huidiao]);l13=uimenu('parent',l1,...    'label','Membrane',...    'tag','l13',...    'callback',[...        'mesh(membrane),',...        huidiao]);f1=uicontrol('parent',h0,...    'units','points',...    'listboxtop',0,...    'position',[12 6 100 101],...    'style','frame',...    'tag','f1');r1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 58.5 72.75 16.5],...    'string','shading faceted',...    'style','radiobutton',...    'tag','r1',...    'value',1,...    'callback',[...        'shading faceted,',...        'set(r1,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);']);r2=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 35.25 78.75 18.75],...    'string','shading flat',...    'style','radiobutton',...    'tag','r2',...    'value',0,...    'callback',[...        'shading flat,',...        'set(r2,''value'',1);,',...        'set(r1,''value'',0);,',...        'set(r3,''value'',0);']);r3=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 12.75 71.25 18.75],...    'string','shading interp',...    'style','radiobutton',...    'tag','r3',...    'value',0,...    'callback',[...        'shading interp,',...        'set(r3,''value'',1);,',...        'set(r1,''value'',0);,',...        'set(r2,''value'',0);']);t1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'fontsize',12,...    'listboxtop',0,...    'position',[14.25 75.75 90.75 22.5],...    'string','平滑处理',...    'style','text',...    'tag','t1');t2=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'fontsize',12,...    'listboxtop',0,...    'position',[117 69 72.75 17.5],...    'string','设置色调',...    'style','text',...    'tag','t2');p1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[116.25 39 72.75 20.25],...    'string','Cool|Spring|Summer|Autumn|Winter',...    'style','popupmenu',...    'tag','p1',...    'value',1,...    'callback',[...        'k=get(p1,''value'');,',...        'switch k,',...        'case 1,',...        'colormap(''cool''),',...        'case 2,',...        'colormap(''spring''),',...        'case 3,',...        'colormap(''summer''),',...        'case 4,',...        'colormap(''autumn''),',...        'case 5,',...        'colormap(''winter''),',...        'end']);b1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[12 243 72.75 30.75],...    'string','关闭',...    'tag','b1',...    'callback','close');b2=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[216.75 67.5 83.25 18.75],...    'string','Colorbar',...    'tag','b2',...    'callback','colorbar');

12. 图形效果

h0=figure('toolbar','none',...    'position',[168 94.5 315 289.5],...    'name','实例57');h1=axes('parent',h0,...    'position',[0.4 0.4 0.5 0.5],...    'visible','off');f1=uicontrol('parent',h0,...    'style','frame',...    'position',[15 10 80 70],...    'string','dull',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','r1',...    'value',1,...    'callback',[...        'set(r1,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);,',...        'material dull']);r1=uicontrol('parent',h0,...    'style','radiobutton',...    'position',[19.5 58.5 72.75 16.5],...    'string','dull',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','r1',...    'value',1,...    'callback',[...        'set(r1,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);,',...        'material dull']);r2=uicontrol('parent',h0,...    'style','radiobutton',...    'position',[19.5 35.25 72.75 16.5],...    'string','metal',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','r2',...    'value',0,...    'callback',[...        'set(r2,''value'',1);,',...        'set(r1,''value'',0);,',...        'set(r3,''value'',0);,',...        'material metal']);r3=uicontrol('parent',h0,...    'style','radiobutton',...    'position',[19.5 12.75 72.75 16.5],...    'string','shiny',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','r3',...    'value',0,...    'callback',[...        'set(r3,''value'',1);,',...        'set(r1,''value'',0);,',...        'set(r2,''value'',0);,',...        'material shiny']);u1=uimenu('parent',h0,...    'label','绘图',...    'backgroundcolor',[0.753 0.753 0.753],...    'tag','u1',...    'callback',[...        '[x,y]=meshgrid(-8:0.5:8);,',...        'r=sqrt(x.^2+y.^2)+eps;,',...        'z=sin(r)./r;,',...        'surf(x,y,z),',...        'shading interp']);b1=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[19.5 150 60 20],...    'string','light',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','b1',...    'callback','camlight headlight');b2=uicontrol('parent',h0,...    'style','pushbutton',...    'position',[19.5 100 60 20],...    'string','关闭',...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'tag','b2',...    'callback','close');

13. 可控制小球运动速度的用户界面

h0=figure('toolbar','none',...    'position',[198 56 350 468],...    'name','实例58');h1=axes('parent',h0,...    'position',[0.25 0.45 0.5 0.5],...    'visible','off');t=0:0.1:4*pi;x=sin(t);y=cos(t);plot(x,y)axis equalaxis offh=line('color',[1 0 0],...    'linestyle','.',...    'xdata',0,...    'ydata',1,...    'markersize',20,...    'erasemode','xor');n=length(t);i=1;speed=0.01;k=0;b1huidiao=[...        'k=0;,',...        'while 1,',...        'set(h,''xdata'',x(i),''ydata'',y(i));,',...        'drawnow,',...        'pause(speed),',...        'i=i+1;,',...        'if i>n,',...        'i=1;,',...        'end,',...        'if k==1,',...        'break,',...        'end,',...        'end'];b1=uicontrol('parent',h0,...    'units','points',...    'tag','b1',...    'style','pushbutton',...    'string','开始',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[30 80 50 20],...    'callback',b1huidiao);b2=uicontrol('parent',h0,...    'units','points',...    'tag','b2',...    'style','pushbutton',...    'string','停止',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[100 80 50 20],...    'callback','k=1;');b3=uicontrol('parent',h0,...    'units','points',...    'tag','b3',...    'style','pushbutton',...    'string','关闭',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[170 80 50 20],...    'callback',[...        'k=1;,',...        'close']);s1=uicontrol('parent',h0,...    'units','points',...    'tag','s1',...    'style','slider',...    'value',50*speed,...    'max',1,...    'min',0,...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[30 115 190 20],...    'callback',[...        'm=get(s1,''value'');,',...        'speed=m/50;']);t1=uicontrol('parent',h0,...    'units','points',...    'tag','t1',...    'style','text',...    'fontsize',15,...    'string','小球运动速度',...    'backgroundcolor',[0.75 0.75 0.75],...    'position',[30 135 190 20]); 


14. 设置坐标轴纵横轴比

h0=figure('name','实例59');h1=axes('parent',h0,...    'position',[0.3 0.45 0.5 0.5],...    'visible','off');u1=uimenu('parent',h0,...    'label','绘图',...    'backgroundcolor',[0.753 0.753 0.753],...    'tag','u1',...    'callback',[...        '[x,y]=meshgrid(-8:0.5:8);,',...        'r=sqrt(x.^2+y.^2)+eps;,',...        'z=sin(r)./r;,',...        'mesh(x,y,z),',...        'shading interp,',...        'axis normal']);f1=uicontrol('parent',h0,...    'units','points',...    'listboxtop',0,...    'position',[12 6 100 150],...    'style','frame',...    'tag','f1');t1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 130 72.75 16.5],...    'string','坐标纵横比',...    'style','text',...    'tag','t1');r1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 110 72.75 16.5],...    'string','axis equal',...    'style','radiobutton',...    'tag','r1',...    'value',1,...    'callback',[...        'set(r1,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);,',...        'set(r4,''value'',0);,',...        'set(r5,''value'',0);,',...        'axis equal']);r2=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 85 72.75 16.5],...    'string','axis square',...    'style','radiobutton',...    'tag','r2',...    'value',0,...    'callback',[...        'set(r2,''value'',1);,',...        'set(r1,''value'',0);,',...        'set(r3,''value'',0);,',...        'set(r4,''value'',0);,',...        'set(r5,''value'',0);,',...        'axis square']);r3=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 60 72.75 16.5],...    'string','axis image',...    'style','radiobutton',...    'tag','r3',...    'value',0,...    'callback',[...        'set(r3,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r1,''value'',0);,',...        'set(r4,''value'',0);,',...        'set(r5,''value'',0);,',...        'axis image']);r4=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 35 72.75 16.5],...    'string','axie vis3d',...    'style','radiobutton',...    'tag','r4',...    'value',0,...    'callback',[...        'set(r4,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);,',...        'set(r1,''value'',0);,',...        'set(r5,''value'',0);,',...        'axis vis3d']);r5=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[19.5 10 72.75 16.5],...    'string','axis auto',...    'style','radiobutton',...    'tag','r5',...    'value',0,...    'callback',[...        'set(r5,''value'',1);,',...        'set(r2,''value'',0);,',...        'set(r3,''value'',0);,',...        'set(r4,''value'',0);,',...        'set(r1,''value'',0);,',...        'axis auto']);b1=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[12 243 72.75 30.75],...    'string','关闭',...    'tag','b1',...    'callback','close');b2=uicontrol('parent',h0,...    'units','points',...    'backgroundcolor',[0.753 0.753 0.753],...    'listboxtop',0,...    'position',[216.75 67.5 83.25 18.75],...    'string','Colorbar',...    'tag','b2',...    'callback','colorbar');

15. 动态文本显示

h0=figure('toolbar','none',...    'position',[198 56 350 468],...    'name','实例60');h1=axes('parent',h0,...    'position',[0.25 0.45 0.5 0.5],...    'visible','off');str1='当前阻尼比=';z=0.52;t=0:0.1:10;y=step(1,[1 2*z 1],t);hline=plot(t,y);grid onr1=uicontrol('parent',h0,...    'units','points',...    'tag','r1',...    'style','radio',...    'string','grid on',...    'position',[30 120 60 20],...    'backgroundcolor',[0.75 0.75 0.75],...    'value',1,...    'callback',[...        'grid on,',...        'set(r1,''value'',1);,',...        'set(r2,''value'',0)']);r2=uicontrol('parent',h0,...    'units','points',...    'tag','r2',...    'style','radio',...    'string','grid on',...    'position',[30 95 60 20],...     'backgroundcolor',[0.75 0.75 0.75],...    'value',0,...    'callback',[...        'grid off,',...        'set(r2,''value'',1);,',...        'set(r1,''value'',0)']);s1=uicontrol('parent',h0,...    'units','points',...    'tag','s1',...    'style','slider',...    'value',z,...    'position',[100 95 150 20],...     'backgroundcolor',[0.75 0.75 0.75],...    'max',1,...    'min',0,...    'callback',[...        'z=get(s1,''value'');,',...        'set(t1,''string'',[str1,sprintf(''%1.4g\'',z)]);,',...        'delete(hline),',...        'y=step(1,[1 2*z 1],t);,',...        'hline=plot(t,y);,',...        'if get(r1,''value'')==1,',...        'grid on,',...        'end,',...        'if get(r2,''value'')==1,',...        'grid off,',...        'end']);t1=uicontrol('parent',h0,...    'units','points',...    'tag','t1',...    'style','text',...    'string',[str1,sprintf('%1.4g\',z)],...    'position',[100 120 150 20],...    'backgroundcolor',[0.75 0.75 0.75]);b1=uicontrol('parent',h0,...    'units','points',...    'tag','b1',...    'style','pushbutton',...    'string','关闭',...    'position',[80 50 80 30],...    'backgroundcolor',[0.75 0.75 0.75],...    'fontsize',15,...    'callback','close');


0 0
原创粉丝点击