Bonjour à tous,

J'ai un tp à rendre qui concerne la résolution de l'équation de la chaleur en dimension 1 (sur une barre) par différences finies.

l'équation : d²T/dx² -(q0/k)T= 0

pour cette partie j'ai reussi à faire l'algoritme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
k=46;% pour acier
q=5000;%source de chaleur
C=q/k;
Ta=300; %conditions limites en °K à l'extremité
n=100; %nb d'elements
L=1; %longeur en metre
h=L/n; %pas de discretisation
d=(C*h*h)-2; %valeur de diagonale de matrice
 
%declaration des matrices/vecteurs
 
matA=zeros(n-1,n-1);
X=zeros(n-1,1);
B=zeros(n-1,1);
sol=zeros(n-1,3); 
 
%insertion des composantes dans la matrice
matA(1,1)=d;
matA(n,n)=d;
matA(1,2)=1;
matA(n,(n-1))=1;
B(1,1)=-Ta;
B(n,1)=-Ta;
 
%creation de boucle pour inserer les valeurs diagonales de matrice A
for i=2:n-1
 
matA(i,i)=d;
matA(i,(i+1))=1;
matA(i,(i-1))=1;
 
end
 
X=inv(matA)*B;
 
sol(1,1)=0.;
sol(1,2)=Ta;
sol(1,3)=Ta;
 
sol(n,1)=L;
sol(n,2)=Ta;
sol(n,3)=Ta;
 
cc=sqrt(C);
 
for i=1:n-1
xi=i*h;
sol(i,1)=xi;
sol(i,2)=X(i,1);
end
mais j'arrive pas faire pour le cas d²T/dx² -(q0/k)T²= 0


cordialement