打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
matlab实用程序百例(5)
曲线标记
              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]);
修改曲型
              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]);
指定坐标轴范围
              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');
绘制不同函数曲线的用户界面
              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');
可设置函数曲线图视角的用户界面
              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 interp
              view(-50,30)
              camlight left
              colormap([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]);
可设置函数曲线图视角的用户界面
              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 interp
              view([-60 30])
              fv=get(h1,'view');
              fv2=fv;
              camlight left
              sh1=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');

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
matlab编写的小游戏拼图
图形用户界面(GUI)设计举例
【资源】Matlab GUI(图形用户界面) 的心得, 附 <编程中文参考手册>
Matlab中Uicontrol 对象属性详解
【转载】Matlab中Figure属性的设定
安卓当下最流行的吸顶效果的实现(下)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服