gusucode.com > Matlab精彩编程100例源码程序 > Matlab精彩编程100例源码/work/shili52.m

    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');