2. 3 -  Résolution

Modifier le sous-programme de résolution pour prendre en compte $\color{mycolor}{f\ne 0}$ :

il faut :

$\color{mycolor}\; \; \triangleright $ ajouter $\tilde{f}$ aux arguments du programme de résolution,

$\color{mycolor}\; \; \triangleright $ modifier l’initialisation à zero de $F$ pour

  • construire la matrice $M$,

  • initialiser $F$ par $F=M\tilde{f}$

Le reste est identique au programme de la partie 2.

sous scilab : l’initialisation de $F$ (pour un stockage plein) s’écrit   

M = Mplein1DP1(nx,x) ;

F =  M *  fs


en notant fs le tableau d’une colonne des composantes du vecteur $\tilde{f}$.

Attention :
si fs est construit comme tableau ligne dans le programme principal, il faut passer en argument le tableau transposé fs’.  
 

Tester ce sous-programme avec une source linéaire $f=10x$ et les données du test de la partie 1 du TP1 ;

sous scilab :
par esprit de synthèse, on peut mettre les sous-programmes de construction de $M$ et $K$ dans un même fichier matrices1DP1.sci. Tester avec

exec(’matrices1DP1.sci’)  ;  exec(’AFCL.sci’)  ; 

exec(’chaleur1DP1.sci’)  ;

nx=5  ;  kc=[1, 1 , 1,1]   ;   x=linspace(0,1,nx)   ;

fs=10*x  ;

cldi=[ 1  ,  0  ;   nx ,  10 ]    ;   clne=[]   ;

T=chaleur1DP1plein(nx,x,kc,cldi,clne,fs’)   ;  T


On doit obtenir $T=\left(\begin{array}{c}0\\ 2,890...\\ 5,624...\\ 8,046..\\ 10\end{array} \right)$.
si cela n’est pas le cas, chercher l’erreur ...

fin de l’aide sur l’étape 2