تعديل

Différence fini sur Matlab, comparaison de la solution approchée et l'exacte.





Code Matlab:
--------------------------------------------------------------------------------------------------------------------------
close
clear all
clc
 N=15;
 h=2/(N+1);
 A=zeros(N,N);
 B=zeros(N,1);
 syms t real
 Uexa(t)=(t^2-1)*exp(t^2); %solution exacte
 f(t)=(-4*t^4-6)*exp(t^2);
for i=1:N+2
x(i)=(i-1)*h-1;
 Ue(i)=Uexa(x(i));
end
for i=2:N
A(1,1)=-(2+6*h^2); A(i,i)=-(2+6*h^2);  %Remplir la matrice A
A(i-1,i)=1;
 A(i,i-1)=1;
B(1)=-h^2*f(x(i));
B(i)=-h^2*f(x(i));
 end
V=inv(A)*B;
Uap=[0;V;0]; % solution approchée par D.fini
plot(x,Uap,’r-*’,x,Ue,’b-d’)
legend(‘D.fini’,’sol.exact’)

--------------------------------------------------------------------------------------------------------------------------

Twitter Delicious Facebook Digg Stumbleupon Favorites More