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

📄 matlab_program_2.txt

📁 Matlab实用程序 33-66是:界面设计篇
💻 TXT
📖 第 1 页 / 共 5 页
字号:
    '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:简单运算器

h1=uicontrol(gcf,'style','radio',...
    'string','加',...
    'value',1,...
    'position',[20 150 40 20],...
    'callback',[...
        'k=1;,',...
        'set(h1,''value'',1),',...
        'set(h2,''value'',0),',...
        'set(h3,''value'',0)']);
h2=uicontrol(gcf,'style','radio',...
    'string','减',...
    'position',[20 110 40 20],...
    'callback',[...
        'k=2;,',...
        'set(h2,''value'',1),',...
        'set(h1,''value'',0),',...
        'set(h3,''value'',0)']);
h3=uicontrol(gcf,'style','radio',...
    'string','乘',...
    'position',[20 70 40 20],...
    'callback',[...
        'k=3;,',...
        'set(h3,''value'',1),',...
        'set(h2,''value'',0),',...
        'set(h1,''value'',0)']);
e1=uicontrol(gcf,'style','edit',...
    'position',[80 150 100 20]);
e2=uicontrol(gcf,'style','edit',...
    'position',[80 110 100 20]);
e3=uicontrol(gcf,'style','edit',...
    'position',[80 70 100 20]);
b1=uicontrol(gcf,'style','pushbutton',...
    'string','运算',...
    'position',[200 150 80 30],...
    'callback',[...
        'x=str2num(get(e1,''string''));,',...
        'y=str2num(get(e2,''string''));,',...
        'switch k,',...
        'case 1,',...
        'z=x+y;,',...
        'case 2,',...
        'z=x-y;,',...
        'case 3,',...
        'z=x*y;,',...
        'end,',...
        'set(e3,''string'',num2str(z))']);
b2=uicontrol(gcf,'style','pushbutton',...
    'string','退出',...
    'position',[200 100 80 30],...
    'callback','close');
实例46:曲线色彩的修改

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',...
    'backgroundcolor','r',...
    'position',[60 100 50 30],...
    'callback','set(k,''color'',''r'')');
p2=uicontrol('parent',h0,...
    'style','pushbutton',...
    'backgroundcolor','g',...
    'position',[170 100 50 30],...
    'callback','set(k,''color'',''g'')');
p3=uicontrol('parent',h0,...
    'style','pushbutton',...
    'backgroundcolor','b',...
    'position',[280 100 50 30],...
    'callback','set(k,''color'',''b'')');
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]);


实例47:曲线标记

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]);
实例48:修改曲型

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]);
实例49:指定坐标轴范围

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');
实例50:绘制不同函数曲线的用户界面

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

⌨️ 快捷键说明

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