Bonjour,

dans ce code ci dessous, X represente une profondeur, t le temps et z est la temperature. j'ai deux formules de z suivant le temps qui passe: avant 601 secondes on est en augmentation de temperature (z) et apres 600 secondes il y a diminution de la temperature (z). j aimerais visualiser l evolution de la temperature en fonction du temps et de la profondeur...
mais ca ne me donne pas ce que je veux.

voila mon
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
 
clear all;
close all;
Q=188.64;
K=0.802;
w=0.0227861753262656;
tp=600;
Y0=20;
 
 
[x,t] = meshgrid(1 : 1 : 1200, 1 : 1 : 1200);
 A=(x./(2*sqrt(w*t)));
 B=(x./(2*sqrt(w*(t-tp))));
 
if t<601
   z= Y0 + (2*Q./K)'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'];
else
   z= Y0+(2'*Q./K')'*sqrt(w*t)'*(exp(-A.^2)./sqrt(pi)' - (2*Q./K')'*A*(1-erf(A))'-sqrt(w*(t-tp))'*(2'*Q./K')*(exp(-B.^2)./sqrt(pi))' - (2'*Q./K')'*B*(1-erf(B))');
end
   mesh(z)
en fait je ne sais pas si je m y prend bien, a savoir que je veux faire varier t de 1 a 1200. dans un premier temps je veux le faire varier entre 1 et 600 avec cette expression:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
z= Y0 + (2*Q./K)'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - A*erfc(A)'];
puis entre 601 et 1200 avec cette expression:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
z= Y0+(2'*Q./K')'*sqrt(w*t)'*[exp(-A.^2)./sqrt(pi)' - (2*Q./K')'*A*(1-erf(A))'-sqrt(w*(t-tp))'*(2'*Q./K')*((exp(-B.^2)./sqrt(pi))' - (2'*Q./K')'*B*(1-erf(B))')];
De plus x(la profondeur) intervient dans les expressions de A et B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
A=(x./(2*sqrt(w*t)));
 B=(x./(2*sqrt(w*(t-tp))));
mercie de votre aide..