www.pudn.com > fvsmatlabsourcecodebyRF.rar > whichsector.m


function [sector_num] = whichsector(index) 
% Modiofied by PRTsinghua@hotmail.com 
% index ¼ôÇкóͼÏñµÄindex ( ¼ôÇкóµÄͼÏñÊÇ 175 x 175 );  
 
length = 175; 
x = rem( index , length ); 
y = floor(index / length); 
 
x = x - floor(length / 2); 
y = y - floor(length / 2); 
 
rad = (x*x) + (y*y); 
if rad < 144        % innerest radius = 12 (144=12*12) 
    sector_num = 36; 
    sector_num; 
    return 
end 
 
if rad >= 5184       % outtest radius = 72 (5184=72*72) 
    sector_num = 37; 
    sector_num; 
    return 
end    
 
if x ~= 0 
    theta = atan( y / x ); 
else  
    if y > 0 
        theta = pi/2; 
    else 
        theta = -pi/2; 
    end 
end    
 
if x < 0 
    theta = theta + pi; 
else 
    if theta < 0 
        theta = theta + 2*pi; 
    end 
end 
 
if theta < 0 
    theta = theta + 2*pi; 
end 
 
r = floor(rad ^ 0.5); 
ring = floor(( r-12 )/20); 
arc = floor(theta /(pi/6)); 
 
sector_num = ring * 12 + arc;