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 monen 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
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)
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)' - A*erfc(A)'];
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 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))')];
mercie de votre aide..
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))));
Partager