数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: 宝宝

【编程学习】matlab实用程序百例

  [复制链接]
 楼主| 发表于 2004-6-1 18:16:24 | 显示全部楼层
<><FONT size=1><b><EM>实例53:可设置函数曲线光源的用户界面</EM></b></FONT></P><>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]);</P>
 楼主| 发表于 2004-6-1 18:16:50 | 显示全部楼层
<><FONT size=1><b><EM>实例54:添加效果</EM></b></FONT></P><>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');</P>
 楼主| 发表于 2004-6-1 18:17:34 | 显示全部楼层
<><FONT size=1><b><EM>实例55:查询日期</EM></b></FONT></P><>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&gt;0,',...
        'if yushu==0,',...
        'beishu=beishu-1;,',...
        'end,',...
        'dday=yearday+365*dyear+beishu+1;,',...
        'end,',...
        'if dyear&lt;=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');
</P>
 楼主| 发表于 2004-6-1 18:18:08 | 显示全部楼层
<><FONT size=1><b><EM>实例56:图形效果(1)</EM></b></FONT></P><>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');</P>
 楼主| 发表于 2004-6-1 18:18:40 | 显示全部楼层
<><FONT size=1><b><EM>实例57:图形效果</EM></b></FONT></P><>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');</P>
 楼主| 发表于 2004-6-1 18:19:32 | 显示全部楼层
<><FONT size=1><b><EM>实例58:可控制小球运动速度的用户界面</EM></b></FONT></P><>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&gt;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]);
</P>
 楼主| 发表于 2004-6-1 18:20:32 | 显示全部楼层
<><FONT size=1><b><EM>实例59:设置坐标轴纵横轴比</EM></b></FONT></P><>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');</P>
 楼主| 发表于 2004-6-1 18:21:23 | 显示全部楼层
<><FONT size=1><b>实例60:动态文本显示</b></FONT></P><>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');</P>
 楼主| 发表于 2004-6-1 18:23:11 | 显示全部楼层
<><FONT size=1><b><EM>实例61:浏览流体数据</EM></b></FONT></P><>h0=figure('toolbar','none',...
    'position',[198 56 450 468],...
    'name','实例61');
h1=axes('parent',h0,...
    'position',[0.3 0.45 0.5 0.5],...
    'visible','off');
[x,y,z,v]=flow;
xmin=min(x();
ymin=min(y();
zmin=min(z();
xmax=max(x(:));
ymax=max(y(:));
zmax=max(z(:));
u1=uimenu('parent',h0,...
    'tag','u1',...
    'label','绘图',...
    'background',[0.75 0.75 0.75]);
u11=uimenu('parent',u1,...
    'tag','u11',...
    'label','绕X轴旋转-45度',...
    'background',[0.75 0.75 0.75],...
    'callback',[...
        'cla,',...
        'hslice=surf(linspace(xmin,xmax,100),linspace(ymin,ymax,100),zeros(100));,',...
        'rotate(hslice,[-1,0,0],-45),',...
        'xd=get(hslice,''xdata'');,',...
        'yd=get(hslice,''ydata'');,',...
        'zd=get(hslice,''zdata'');']);
u12=uimenu('parent',u1,...
    'tag','u12',...
    'label','绕Y轴旋转-45度',...
    'background',[0.75 0.75 0.75],...
    'callback',[...
        'cla,',...
        'hslice=surf(linspace(xmin,xmax,100),linspace(ymin,ymax,100),zeros(100));,',...
        'rotate(hslice,[0,-1,0],-45),',...
        'xd=get(hslice,''xdata'');,',...
        'yd=get(hslice,''ydata'');,',...
        'zd=get(hslice,''zdata'');']);
b1=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b1',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','设置颜色',...
    'position',[50 120 60 25],...
    'callback',[...
        'delete(hslice),',...
        'h=slice(x,y,z,v,xd,yd,zd);,',...
        'set(h,''facecolor'',''interp'',''edgecolor'',''none'',''diffusestrength'',0.8)']);
b2=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b2',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片1',...
    'position',[240 120 60 25],...
    'callback',[...
        'hold on,',...
        'hx=slice(x,y,z,v,xmax,[],[]);,',...
        'set(hx,''facecolor'',''interp'',''edgecolor'',''none'')']);
b3=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b3',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片2',...
    'position',[240 70 60 20],...
    'callback',[...
        'hold on,',...
        'hy=slice(x,y,z,v,ymax,[],[]);,',...
        'set(hy,''facecolor'',''interp'',''edgecolor'',''none'')']);
b4=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b4',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片3',...
    'position',[240 20 60 20],...
    'callback',[...
        'hold on,',...
        'hz=slice(x,y,z,v,zmax-1,[],[]);,',...
        'set(hz,''facecolor'',''interp'',''edgecolor'',''none'')']);
b5=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b5',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','灯光效果',...
    'position',[50 70 60 20],...
    'callback',[...
        'daspect([1 1 1]),',...
        'axis tight,',...
        'box on,',...
        'view(-38.5,16),',...
        'camzoom(1.4),',...
        'camproj perspective,',...
        'lightangle(-45,45)']);
b6=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b6',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','colorbar',...
    'position',[50 20 60 20],...
    'callback','colorbar(''horiz'')');
b7=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b7',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','关闭',...
    'fontsize',14,...
    'position',[145 75 60 20],...
    'callback','close');</P>
 楼主| 发表于 2004-6-1 18:23:15 | 显示全部楼层
<><FONT size=1><b><EM>实例61:浏览流体数据</EM></b></FONT></P><>h0=figure('toolbar','none',...
    'position',[198 56 450 468],...
    'name','实例61');
h1=axes('parent',h0,...
    'position',[0.3 0.45 0.5 0.5],...
    'visible','off');
[x,y,z,v]=flow;
xmin=min(x();
ymin=min(y();
zmin=min(z();
xmax=max(x(:));
ymax=max(y(:));
zmax=max(z(:));
u1=uimenu('parent',h0,...
    'tag','u1',...
    'label','绘图',...
    'background',[0.75 0.75 0.75]);
u11=uimenu('parent',u1,...
    'tag','u11',...
    'label','绕X轴旋转-45度',...
    'background',[0.75 0.75 0.75],...
    'callback',[...
        'cla,',...
        'hslice=surf(linspace(xmin,xmax,100),linspace(ymin,ymax,100),zeros(100));,',...
        'rotate(hslice,[-1,0,0],-45),',...
        'xd=get(hslice,''xdata'');,',...
        'yd=get(hslice,''ydata'');,',...
        'zd=get(hslice,''zdata'');']);
u12=uimenu('parent',u1,...
    'tag','u12',...
    'label','绕Y轴旋转-45度',...
    'background',[0.75 0.75 0.75],...
    'callback',[...
        'cla,',...
        'hslice=surf(linspace(xmin,xmax,100),linspace(ymin,ymax,100),zeros(100));,',...
        'rotate(hslice,[0,-1,0],-45),',...
        'xd=get(hslice,''xdata'');,',...
        'yd=get(hslice,''ydata'');,',...
        'zd=get(hslice,''zdata'');']);
b1=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b1',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','设置颜色',...
    'position',[50 120 60 25],...
    'callback',[...
        'delete(hslice),',...
        'h=slice(x,y,z,v,xd,yd,zd);,',...
        'set(h,''facecolor'',''interp'',''edgecolor'',''none'',''diffusestrength'',0.8)']);
b2=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b2',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片1',...
    'position',[240 120 60 25],...
    'callback',[...
        'hold on,',...
        'hx=slice(x,y,z,v,xmax,[],[]);,',...
        'set(hx,''facecolor'',''interp'',''edgecolor'',''none'')']);
b3=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b3',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片2',...
    'position',[240 70 60 20],...
    'callback',[...
        'hold on,',...
        'hy=slice(x,y,z,v,ymax,[],[]);,',...
        'set(hy,''facecolor'',''interp'',''edgecolor'',''none'')']);
b4=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b4',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','添加切片3',...
    'position',[240 20 60 20],...
    'callback',[...
        'hold on,',...
        'hz=slice(x,y,z,v,zmax-1,[],[]);,',...
        'set(hz,''facecolor'',''interp'',''edgecolor'',''none'')']);
b5=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b5',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','灯光效果',...
    'position',[50 70 60 20],...
    'callback',[...
        'daspect([1 1 1]),',...
        'axis tight,',...
        'box on,',...
        'view(-38.5,16),',...
        'camzoom(1.4),',...
        'camproj perspective,',...
        'lightangle(-45,45)']);
b6=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b6',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','colorbar',...
    'position',[50 20 60 20],...
    'callback','colorbar(''horiz'')');
b7=uicontrol('parent',h0,...
    'style','pushbutton',...
    'units','points',...
    'tag','b7',...
    'backgroundcolor',[0.75 0.75 0.75],...
    'string','关闭',...
    'fontsize',14,...
    'position',[145 75 60 20],...
    'callback','close');</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-12-2 13:49 , Processed in 0.064656 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表