"Equations aux dérivées partielles"

"1-Saisie des paramètres initiaux"
L = 40; //Demi-longueur de l'intervalle de travail
nu = 1; //Coefficient de "diffusion"
J = 150; //Nombre de subdivions en espace
tau = 0.01; //Pas de subdivision en temps
T = 15; //Durée de la simulation

function v=g1(u)
    v = u
endfunction

function v=g2(u)
    v = u.*(1-u)
endfunction

function v=g3(u)
    v = u.*(1-u.^2)
endfunction

function v=u0(u)
    if abs(u)<=10 then
    v = 0.8*cos(%pi.*u/20)
    else
    v=0
    end
endfunction

"2-Calcul de paramètres utiles à la simulation"
h = 2*L/(J-1); //Pas de subdivion en espace)
A = -2*diag(ones(J,1),0) + diag(ones(J-1,1),-1) + diag(ones(J-1,1),1);
M = eye(J,J) - (tau*nu/h^2)*A;
XX = -L:h:L; //Intervalle en espace
TT = 0:tau:T; //Intervalle en temps
N = int(T/tau); //Nombre de subdivisions en temps

V0 = zeros(J,1); //Construction de la donnée initiale
for j=1:J
    V0(j)= u0(XX(j));
end

"3 - Calcul de la solution de l''EDP"
U = zeros(J,N+1); //Construction de la "matrice de la solution"
U(:,1) = V0; //Condition initiale
V = V0;

for n=0:N
    V = M\(V + tau*g3(V)); //Résolution du système linéaire à chaque nouvelle itération, condition (13)
    U(:,n+1) = V;
end

f1=scf(1);
plot3d1(TT,XX,U',270,0,"t@x@u",flag=[-1,2,4]);
f1.color_map = jetcolormap(512);
colorbar(min(U),max(U));
title('Evolution de la population');









