Malha
De WikiLICC
Uma malha (no contexto de métodos numéricos) é um conjunto de pontos que cobrem um domínio espacial de tal forma a subdividi-lo em células menores.
Malha não uniforme
Exemplo de geração de malha não uniforme em Matlab.
% malha retangular com espaçamento não-uniforme e % concentração de pontos em (Xc, Yc). clear Ymax = 1 % comprimento y Xmax = 20 % comprimento x N = 65 % Nós em X fator = 0.10; % fator de redução/ampliação r = 1+fator Xc = 3; % Centro de concentração de pontos (Xc,Yc) Yc = Ymax/2; Nhalf = (N+1)/2 ; a1 = (Ymax/2)*(1 - r)/(1-r^(Nhalf-1)) ; Nesq = floor( log( 1-Xc*(1-r)/a1)/log(r) )+1 Ndir = floor( log( 1-(Xmax-Xc)*(1-r)/a1)/log(r) )+1 M = Nesq + Ndir; co =1 y(co) = 0; for j=2:Nhalf; co=co+1; dy = a1*(1+fator)^(Nhalf-j); y(co)=y(co-1) + dy; end for j= 2:Nhalf co=co+1; dy = a1*(1+fator)^(j-2); y(co)=y(co-1) + dy; end co=1; x(co) = 0; for i=2:Nesq; co=co+1; dx = a1*(1+fator)^(Nesq-i); x(co)=x(co-1) + dx; end for i= 2:Ndir+1 co=co+1; dx = a1*(1+fator)^(i-2); x(co)=x(co-1) + dx; end NovoXc = x(Nesq); x=x-NovoXc; %translação para (0,0) y=y-(Ymax/2); [X,Y]=meshgrid(x,y); mesh(X,Y,ones(size(X))) view(0,90) axis equal