⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 position.m

📁 数字通信调制解调
💻 M
字号:
% Program 6-2
% positon.m
%
% Positioning of the access terminals in the area of the radius r.
%
% Input arguments
%   r     : The radius r that an access point is an origin.
%   n     : The number of access terminals.
%   h     : h=0 -> z=0  h=1 -> z=1乣4
%
% Output argument
%   posxy : (x,y,z)
%
% Programmed by M.Okita
% Checked by H.Harada
%

function [posxy] = position(r, n, h)

ms = 4 * r;                                         % calculation of the number of maximum position
ms = ms + 4 * sum(fix(sqrt(r^2-[1:r-1].^2)));

if n > ms
    error('n exceeds the number of position.');
end

posxy = zeros(n,3);                                                 % initialize

for ii=1:n
    while 1
        xx  = round(r*rand) * sign(sin(2*pi*rand));                 % x and y are decided at random
        yy  = round(r*rand) * sign(cos(2*pi*rand));
        if xx^2+yy^2 <= r^2 & (xx~=0 | yy~=0)                       % (xx,yy) is not (0,0) in the area
            if length(find(posxy(:,1)==xx & posxy(:,2)==yy)) == 0   % (xx,yy) are vacant
                break
            end
        end
    end
    posxy(ii,[1 2]) = [xx yy];
    if h == 1
        while 1
            posxy(ii,3) = round(50*rand) / 10;
            if 1 <= posxy(ii,3) & posxy(ii,3) <= 4
                break
            end
        end
    end
end

%%%%%%%%%%%%%%%%%%%%%% end of file %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -