matlab实用程序
Posted ChenYuanshen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab实用程序相关的知识,希望对你有一定的参考价值。
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 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]);
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 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');
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 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(an11);,',...
'an2=inputdlg(''光线来源的Y轴坐标'');,',...
'k2=str2num(an21);,',...
'an3=inputdlg(''光线来源的Z轴坐标'');,',...
'k3=str2num(an31);,',...
'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 equal
axis off
h=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 on
r1=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');
以上是关于matlab实用程序的主要内容,如果未能解决你的问题,请参考以下文章