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

📄 indice_ij.m

📁 pathgenerator source, filtering for matlab
💻 M
字号:
function I = indice_ij(Nx , Ny)

% Return the adjacency matrix (D x S) where D = 8 neighbours, S = NxNy.
%
% Usage
% -----
%
% I = indice_ij(Nx , [Ny]);
%
% Inputs
% ------
% 
% Nx           Number of nodes in x-axis (default Nx = 10)
% Ny           Number of nodes in y-axis (default Ny = Nx)
%
% Outputs
% -------
% 
% I           Adjacency matrix (D x S)
%
%
% Example
% -------
%
% I = indice_ij(2 , 2);
%
%
% Author          S閎astien PARIS (sebastien.paris@lsis.org)
% -------

if (nargin < 1)
    
    Nx = 10;
    
end



if (nargin <2)
    
    Ny = Nx;
    
end

D                      = 8;

S                      = Nx*Ny;

NyD                    = Ny*D;

SD                     = (S - 1)*D;

vect                   = [(Ny + 1) ; (Ny ) ; (Ny - 1) ; -1  ; -(Ny  + 1) ;  - Ny ; - (Ny - 1) ;  1    ];

vx2                    = [1 ; 8 ; 7 ];           % 1 8 7
                               
vx1                    = [3 ; 4 ; 5 ];           % 2 i 6

                                                 % 3 4 5


OT                     = ones(3 , 1);

ON                     = ones(1 , Nx);

ind_S                  = (1 : S);

ind_tpx1               = (0 : NyD : SD);

ind_tpx2               = ((Ny - 1)*D : NyD : SD);

I                      = ind_S(ones(D , 1) , : ) + vect(: , ones(1  , S) );

I(((I < 1) | (I > S))) = 0;

I([vx1(: , ON) + ind_tpx1(OT , :) ,  vx2(: , ON) + ind_tpx2(OT , :)]) = 0;

⌨️ 快捷键说明

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