Bonjour à tous,

j'ai un problème sur la méthode des lignes à tester.

Ce problème est décrit par les équations :




Valeurs numériques :



Conditions initiales :

u(x,0) = 1
v(x,0) = 1

Conditions aux limites :

u(0,t) = 1
v(0,t) = 1




Voilà, je sais que c'est un peu long comme énoncé ...
De plus, j'utilise comme notation (je ne sais pas si cela correspond aux normes) :
= dérivée de v par rapport à t
= dérivée de u par rapport à x
= dérivée seconde de u par rapport à x

La question qui m'est demandée est de construire le simulateur de ce système d'équations sur MatLab et de visualiser les profils de u(x,t) et v(x,t) pour t = k.T avec k = 0,1,...,10 et T = 0,2.

Maintenant, les nombreux problèmes que j'ai...

Au point de vue de la fonction handle (mise en citation ci-dessous) :
les matrices D1u, D1v, D2u, D2v sont simplement les matrices correspondant au remplacement des dérivées spatiales par des approximations algébriques. Ce sont des matrices qui ont été générées par des fonctions distribuées par le prof. Donc, là il ne doit pas trop y avoir de problèmes.

Mais les deux problèmes auxquels je suis confronté sont :

1) Comment exprimer la variable x ? Sur internet, je n'ai trouvé aucun exemple où dans les équations la variable x est utilisée... Est-ce que la façon que j'ai appliquée est correcte ?

2) Mon autre problème, c'est l'expression des deux dernières conditions aux limites. Je n'ai absolument aucune idée de comment les exprimer...

function xdot = our_odefun(t,y)

global D1u D1v D2u D2v

n=101;
x = [0:1/(n-1):1];

for i=1:n,
fu(i,1) = y(i,1);
fv(i,1) = y(n+i,1);
end;

%Conditions aux limites

fu(1, : ) = 1;
fv(1, : ) = 1;

tempu11 = (D1v*fv);
tempu12 = (D1u*fu);

tempu2 = D2u*fu ;

tempv = D2v*fv + D1u*fu;

for i=1:n,
xdot(i,1)= tempu11(i,1) * tempu12(i,1)+(fv(i,1)-1)*tempu2(i,1) + (16*x(i)*t-2*t-16*(fv(i,1)-1))*(fu(i,1)-1)+10*x(i)*exp(-4*x(i));
xdot(i+n,1)= tempv(i,1) + 4*fu(i,1)-4+(x(i))^2-2*t-10*t*exp(-4*x(i));
end;
Merci à tous pour vos réponses...
J'espère avoir été assez clair