?? ringzy.m
字號:
function varargout = ringzy(r,varargin)
%RINGZY Plot a ring and calculate the area of the ring.
% r 基圓半徑
% 調用格式
% [x1,y1,x2,y2,s1,s2]=ringzy(r,r2,'PropertyName','PropertyValue',...)
% (1)無輸出時,繪圓或環。
% (2)有輸出時,不繪圖。
% (x1,y1),(x2,y2)分別是兩個圓的坐標點;
% s1是基圓面積;
% s2為正值時,表示內環面積;為負值時,表示外環面積。
vin=length(varargin);Nin=vin+1; %<11>
error(nargchk(1,Nin,nargin)) %檢查輸入變量數目是否合適
if nargout>6 %檢查輸出變量數目是否合適
error('Too many output arguments')
end
t=0:pi/20:2*pi;x=r*exp(i*t);s=pi*r*r;
if nargout==0
switch Nin
case 1
plot(x,'b')
case 2
r2=varargin{1}; %<22>
x2=r2*exp(i*t);
plot(x,'b');hold on ;plot(x2,'b');hold off
otherwise
r2=varargin{1}; %<26>
x2=r2*exp(i*t);
plot(x,varargin{2:end});hold on %利用元胞數組設置對象屬性 <28>
plot(x2,varargin{2:end});hold off %利用元胞數組設置對象屬性 <29>
end;
axis('square')
else
varargout{1}=real(x);varargout{2}=imag(x); %<33>
varargout{5}=pi*r*r;varargout{6}=[]; %<34>
if Nin>1
r2=varargin{1}; %<36>
x2=r2*exp(i*t);
varargout{3}=real(x2);varargout{4}=imag(x2); %<38>
varargout{6}=pi*(r^2-r2^2); %<39>
end;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -