⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab_program_2.txt

📁 Matlab实用程序 33-66是:界面设计篇
💻 TXT
📖 第 1 页 / 共 5 页
字号:
实例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 on
huidiao=[...
    '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'',''余弦函数''),',...
    '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);
plot(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],...
    'callback',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',[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','小写变大写',...
    '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 on
hm=uicontrol(gcf,'style','popupmenu',...
    'string',...
    '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(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],...
    'visible','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]=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,',...
        '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 on
set(gcf,'toolbar','none')
hm=uimenu('label','example');
huidiao1=[...
        'set(hm_gridon,''checked'',''on''),',...
        'set(hm_gridoff,''checked'',''off''),',...
        'grid on'];
huidiao2=[...
        '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','函数');
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'',''off''),',...
        '[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'',''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(hl2(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 250],...
    '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','被除数',...
    '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',[80 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 on
set(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,''value'',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=figure('toolbar','none',...
    'position',[198 56 450 468],...
    'name','实例43');
h1=axes('parent',h0,...
    'position',[0.15 0.45 0.7 0.5],...
    'visible','off');
sphere
h=findobj('type','surface');
shading interp
axis equal
l=light('position',[0 -2 1]);
k(1)=get(h,'specularstrength');
k(2)=get(h,'diffusestrength');
k(3)=get(h,'specularexponent');
k(4)=get(h,'specularcolorreflectance');
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',...
    'backgroundcolor',[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,''checked'',''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',...
    'min',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),...
    'position',[20 30 100 15],...
    'callback',[...
        's2value=get(s2,''value'');,',...
        'set(h,''diffusestrength'',s2value)']);
t2=uicontrol('parent',h0,...
    'units','points',...
    'style','text',...

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -