Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [j, a, b] = getCoeff(num_left, num_right, num_down, num_up, num_cent, type_cent, cl_cent)
- %{
- j = vecteur colonne contenant les numéros des colonnes des coefficients contenus dans a
- a = vecteur colonne de coefficients de l'équation du noeud central dans le système linéaire à résoudre
- b = valeur du terme de droite de l'équation
- num_xxx = numéro du noeud xxx
- cl_cent = l'éventuelle valeur de condition limite à prendre par ce noeud
- type_cent = type de maille centrale, soit 0 = hors du domaine de calcul,
- 1 = noeud de calcul entouré de nœuds de calcul ou condition limite
- 2 = nœud condition limite de Dirichlet
- %}
- % Type_cent = 0, on est hors du domaine de calcul donc on renvoit 0
- if (type_cent == 0)
- j=0;
- a=0;
- b=0;
- if nargout < 1
- j = [j; a; b];
- end
- % Type_cent = 1, on applique donc la formule x_i+1,j + x_i-1,j + x_i,j+1 + x_i,j-1 - 4x_i,j = 0
- % qu'on renvoit selon l'ordre du passage de paramètres
- elseif (type_cent == 1)
- a = [1 ; 1 ; 1 ; 1 ; -4];
- j = [num_left ; num_right ; num_down ; num_up ; num_cent];
- a = [1 ; 1 ; 1 ; 1 ; -4];
- b = 0;
- if nargout < 1
- j = [j; a; b];
- end
- % Type_cent = 2, on est en condition limite donc x_i = b_i
- else
- j =[num_cent];
- a =[1];
- b =cl_cent;
- if nargout < 1
- j = [j; a; b];
- end
- end
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement