Bonjour à tous,
J'ai étudié l'équation de Laplace par la méthode des différences finies, mais je bloque sur la fin car je n'arrive pas à calculer et tracer l'erreur entre la courbe théorique et la courbe obtenue en discrétisant ! J'ai beau cherché sur internet je ne trouve pas, je m'en remets à vous,
Voici mon programme :
Code:N=5 h=(1/(N-1)) for i=1:N x=(i-1)*h A(i,i)=2/(h**2)+x end for i=1:N-1 x=(i-1)*h A(i,i+1)=-1/(h**2) A(i+1,i)=-1/(h**2) f(i)=(1+(2*x)-x.^2).*exp(x) end A(1,1)=1 A(N,N)=1 A(1,2)=0 A(N,N-1)=0 f(1)=1; f(N)=0; Laplace=inv(A)*f disp(Laplace) //Courbes xx=linspace(0,1,N) plot2d(xx,Laplace,style=[19]) x=linspace(0,1,100) Laplaceexact=(1-x).*exp(x) plot(x,Laplaceexact) xset("window",1)
Il me reste 2 ou 3 lignes à rentrer pour l'erreur, j'ai tenté:
erreur=Laplaceexact(i)-f(i)
plot2d(erreur,style=[19])
mais cela ne m'affiche rien...
Merci de votre aide!
-----