MATLAB / Equation

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
maf
Membre Rationnel
Messages: 911
Enregistré le: 08 Jan 2007, 17:57

MATLAB / Equation

par maf » 13 Avr 2008, 06:25

Bonjour à tous, petit problème avec la question suivante :

J'ai l'équation suivante : Bonjour à tous, j'ai un petit problème avec la question suivante :

c(x;t) =

je dois tracer c pour t = 1 an et comparer avec la solution analytique.

Voilà ce que l'on a fait sur MATLAB, mais j'arrive pas à comprendre pkoi il ne me trace rien !!

Pour tracer t=1

N = 50 ;

b = 1 ;
dx = b/(N-1) ;
x = 0: dx : b ;

a = 1 ;
h = (x<a) ;
h(1)=0;
h

lambda = 1.0 ;

D = sparse(1:N ,1:N ,-1,N,N) + ...
sparse(2:N ,2:N ,-1,N,N) + ...
sparse(1:(N-1),2:N ,1 ,N,N) + ...
sparse(2:N ,1:(N-1),1 ,N,N) ;
D(1,1)=0;
D(1,2)=0;
D(N,N-1)=0;
D(N,N)=0;

dt = 0.1 ;

A = eye(N) - lambda * dt/dx^2 * D ;
B = eye(N) + ( 1 - lambda ) * dt/dx^2 * D ;

G = inv(A) * B ;

h = G * h' ;
t = dt ;

t_fin = .00031536 ;

while t<t_fin

h = G * h ;
t = t + dt ;
end;
plot(x,h) ;

Et pour la solution analytique :

n = 0: 15 ;

x = 0:.01:1;

Z = sin( ( x' * pi * (2 * n + 1 ) ) ) ;

c_0=1;

D=1;

e=1;

t=0.00031536;

A=((4/pi)*c_0)*exp( (-(((2*n)+1)*(pi/e)*D^.5).^2)*t ) ./ ((2*n)+1) ;

c=Z*A'

plot(x,c);



 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 35 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite