我们热爱生命科学!-生物行

[注意] 小程序(4)

时间:2006-09-24 22:32来源:Internet 作者:admin 点击: 865次

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',...
    'tag','t2',...
    'string','漫反射强度',...
    'position',[20 47 100 15]);
s3=uicontrol('parent',h0,...
    'units','points',...
    'style','slider',...
    'tag','s3',...
    'min',0.1,...
    'max',1,...
    'value',k(3)/20,...
    'position',[220 80 100 15],...
    'callback',[...
        's3value=get(s3,''value'')+eps;,',...
        'set(h,''specularexponent'',20*s3value)']);
t3=uicontrol('parent',h0,...
    'units','points',...
    'style','text',...
    'tag','t3',...
    'string','镜面指数',...
    'position',[220 97 100 15]);
s4=uicontrol('parent',h0,...
    'units','points',...
    'style','slider',...
    'tag','s4',...
    'min',0,...
    'max',1,...
    'value',k(4),...
    'position',[220 30 100 15],...
    'callback',[...
        's4value=get(s4,''value'');,',...
        'set(h,''specularcolorreflectance'',s4value)']);
t4=uicontrol('parent',h0,...
    'units','points',...
    'style','text',...
    'tag','t1',...
    'string','镜面颜色反射比',...
    'position',[220 47 100 15]);
b1=uicontrol('parent',h0,...
    'units','points',...
    'style','pushbutton',...
    'tag','b1',...
    'string','关闭',...
    'position',[145 45 50 30],...
    'callback','close');
实例44:改变坐标轴范围

h0=figure('toolbar','none',...
    'position',[198 56 408 468],...
    'name','实例44');
h1=axes('parent',h0,...
    'position',[0.15 0.45 0.7 0.5],...
    'visible','on');
e1=uicontrol('parent',h0,...
    'style','edit',...
    'string',1,...
    'position',[50 120 50 20]);
t1=uicontrol('parent',h0,...
    'style','text',...
    'string','X轴最小值',...
    'position',[35 150 80 20]);
e2=uicontrol('parent',h0,...
    'style','edit',...
    'string',5,...
    'position',[50 60 50 20]);
t2=uicontrol('parent',h0,...
    'style','text',...
    'string','X轴最大值',...
    'position',[35 90 80 20]);
e3=uicontrol('parent',h0,...
    'style','edit',...
    'string',1,...
    'position',[150 120 50 20]);
t3=uicontrol('parent',h0,...
    'style','text',...
    'string','Y轴最小值',...
    'position',[135 150 80 20]);
e4=uicontrol('parent',h0,...
    'style','edit',...
    'string',5,...
    'position',[150 60 50 20]);
t4=uicontrol('parent',h0,...
    'style','text',...
    'string','Y轴最大值',...
    'position',[135 90 80 20]);
e5=uicontrol('parent',h0,...
    'style','edit',...
    'string',20,...
    'position',[250 120 50 20]);
t5=uicontrol('parent',h0,...
    'style','text',...
    'horizontalalignment','left',...
    'string','点数',...
    'position',[250 150 30 20]);
b1=uicontrol('parent',h0,...
    'style','pushbutton',...
    'string','绘图',...
    'position',[250 60 60 40],...
    'callback',[...
        'a=str2num(get(e1,''string''));,',...
        'b=str2num(get(e2,''string''));,',...
        'c=str2num(get(e3,''string''));,',...
        'd=str2num(get(e4,''string''));,',...
        'n=str2num(get(e5,''string''));,',...
        'xgrid=linspace(-abs(a),abs(a),n);,',...
        'ygrid=linspace(-abs(b),abs(b),n);,',...
        '[x,y]=meshgrid(xgrid,ygrid);,',...
        'z=c*sqrt(d-y.*y/b/b-x.*x/a/a);,',...
        'u=1;,',...
        'z1=real(z);,',...
        'for k=2:n-1,',...
        'for j=2:n-1,',...
        'if imag(z(k,j))~=0,',...
        'z1(k,j)=0;,',...
        'end,',...
        'if all(imag(z([k-1:k+1],[j-1:j+1])))~=0,',...
        'z1(k,j)=nan;,',...
        'end,',...
        'end,',...
        'end,',...
        'surf(x,y,z1),',...
        'hold on,',...
        'if u==1,',...
        'z2=-z1;,',...
        'surf(x,y,z2),',...
        'axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);,',...
        'end,',...
        'xlabel(''x'');,',...
        'ylabel(''y'');,',...
        'zlabel(''z'');,',...
        'hold off']);
b2=uicontrol('parent',h0,...
    'style','pushbutton',...
    'string','关闭',...
    'position',[150 10 60 20],...
    'callback','close');
实例45:简单运算器

(责任编辑:泉水)
顶一下
(30)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片