数学建模社区-数学中国

标题: 【奠基经典】MATLAB实用程序案例之改变坐标轴范围 [打印本页]

作者: 青年梦想家    时间: 2015-7-28 22:57
标题: 【奠基经典】MATLAB实用程序案例之改变坐标轴范围







改变坐标轴范围

实例:



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



关于本帖内容欢迎大家踊跃讨论,与在下交流!






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5