www.pudn.com > matlab±à³Ì.zip > polar_value.m, change:1999-03-10,size:1160b


function [mag, angle] = polar_value(x,y) 
%POLAR_VALUE Converts (x,y) to (r,theta) 
% Function POLAR_VALUE converts an input (x,y)  
% value into (r,theta), with theta in degrees. 
% It illustrates the use of optional arguments. 
  
% Define variables: 
%   angle    -- Angle in degrees 
%   msg      -- Error message 
%   mag      -- Magnitude 
%   x        -- Input x value 
%   y        -- Input y value (optional) 
 
%  Record of revisions: 
%      Date       Programmer          Description of change 
%      ====       ==========          ===================== 
%    12/16/98    S. J. Chapman        Original code 
 
% Check for a legal number of input arguments. 
msg = nargchk(1,2,nargin); 
error(msg); 
 
% If the y argument is missing, set it to 0. 
if nargin  2 
   y = 0; 
end 
 
% Check for (0,0) input arguments, and print out 
% a warning message. 
if x == 0 & y == 0 
   msg = 'Both x any y are zero: angle is meaningless!'; 
   warning(msg); 
end 
 
% Now calculate the magnitude. 
mag = sqrt(x.^2 + y.^2); 
 
% If the second output argument is present, calculate  
% angle in degrees. 
if nargout == 2 
   angle = atan2(y,x) * 180/pi; 
end