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

📄 matlab_program_2.txt

📁 Matlab实用程序 33-66是:界面设计篇
💻 TXT
📖 第 1 页 / 共 5 页
字号:
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');
实例51:可设置函数曲线图视角的用户界面

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]); 
实例52:可设置函数曲线图视角的用户界面

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'); 
实例53:可设置函数曲线光源的用户界面

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 interp
view([-60 30])
camlight left
lightk=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]);
实例54:添加效果

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');
实例55:查询日期

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'); 
实例56:图形效果(1)

h0=figure('toolbar','none',...
    'position',[198 56 450 468],...
    'name','实例56');
h1=axes('parent',h0,...

⌨️ 快捷键说明

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