06.08.2013 Views

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.5.1 输入输出宗量检测指令<br />

7.5.2 “变长度”输入输出宗量<br />

【例 7.5.2-1】变长度宗量使用示例。<br />

(1)<br />

[exm07052_1.m]<br />

function varargout = exm07052_1(r,varargin)<br />

%RINGZY Plot a ring and calculate the area of the ring.<br />

%<br />

%<br />

vin=length(varargin);Nin=vin+1; % <br />

error(nargchk(1,Nin,nargin)) %<br />

if nargout>6 %<br />

error('Too many output arguments')<br />

end<br />

t=0:pi/20:2*pi;x=r*exp(i*t);s=pi*r*r;<br />

if nargout==0<br />

switch Nin<br />

case 1<br />

plot(x,'b')<br />

case 2<br />

r2=varargin{1}; %<br />

x2=r2*exp(i*t);<br />

plot(x,'b');hold on ;plot(x2,'b');hold off<br />

otherwise<br />

r2=varargin{1}; %<br />

x2=r2*exp(i*t);<br />

plot(x,varargin{2:end});hold on % <br />

plot(x2,varargin{2:end});hold off % <br />

end;<br />

axis('square')<br />

else<br />

varargout{1}=real(x);varargout{2}=imag(x); %<br />

varargout{5}=pi*r*r;varargout{6}=[]; %<br />

if Nin>1<br />

r2=varargin{1}; %<br />

x2=r2*exp(i*t);<br />

varargout{3}=real(x2);varargout{4}=imag(x2); %<br />

varargout{6}=pi*(r^2-r2^2); %<br />

end;<br />

end<br />

(2)<br />

r1=1;r2=3;<br />

[x1,y1,x2,y2,s1,s2]=exm07052_1(r1);<br />

[x1,y1,x2,y2]=exm07052_1(r1,r2);<br />

[x1,y1,x2,y2,s1,s2]=exm07052_1(r1,r2);<br />

(3)<br />

r1=1;r2=0.6;<br />

subplot(1,3,1),exm07052_1(r1,r2),<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!