function us=shift2d(typ,u) //{\it decale le tableau u de +1 ou -1} //{\it dans les directions nord, sud, est, ouest} //{\it avec condition aux limites de Dirichlet} select typ case 'n' then //{\it shift nord} [m,n] = size(u) ; us(1:m,1:n-1) = u(1:m,2:n) ; us(1:m,n) = 0. ; case 's' then //{\it shift sud} [m,n] = size(u) ; us(1:m,2:n) = u(1:m,1:n-1) ; us(1:m,1) = 0. ; case 'e' then //{\it shift est} [m,n] = size(u) ; us(1:m-1,1:n) = u(2:m,1:n) ; us(m,1:n) = 0. ; case 'o' then //{\it shift ouest} [m,n] = size(u) ; us(2:m,1:n) = u(1:m-1,1:n) ; us(1,1:n) = 0. ; else error('shift nord, sud, est, ouest ?') end; endfunction