//TP2_17.sce
clear ;// ceci reinitialise toutes les variables: ce n'est
// utile qu'en cas de reexecution de tout le programme
// Préliminaires

r=0.5 ;K=100 ; //initialisation des constantes
function ffff=fonc(y) ; //dans cette egalite, a droite se trouve le 
    //nom de la fonction et a gauche le nom d'une variable locale (que l'on 
    //appelle comme on veut).
ffff=r*y.*(1-y/K)
endfunction ;// l'appel de FLogistique(y) retournera la valeur obtenue de ffff
yy=0:0.1:K ;// y est donc une liste de valeurs, de 0 a K par pas=0.1
xset("window",1) ;// cree une nouvelle fen^etre graphique, de numero 1
plot(yy,fonc(yy)) ;//courbe liant les points specifies
a=gca() ;a.box="off" ;
a.x_location="origin" ;

//Questions 1 et 2
yy=1:1:5;
(1-yy/K)
yy.*(1-yy/K)
(1-yy/K)*yy'
//(1-yy/K)*yy

//Questions 3 et 4
function f=h(y);f=0.2*y.*y-40*y;endfunction;
yy=0:1:250;
xset("window",2) ;
plot(yy,h(yy)) ;

function f=ht(t,y);f=0.2*y.*y-40*y;endfunction;
t0=0 ;y0=0 ;//y0=100;//y0=200;//y0=200.5;//même avec un point aussi 
        //proche de 200, on a une explosion!
tt=0:0.01:0.1;
yt=ode(y0,t0,tt,ht);
plot(tt,yt);

// Exercice 4
function ff=f(t,y);
    ff=0.2*y^2
endfunction;
xset("window",2) ;
y0=5;
tFinal=0.9;tt=0:0.001:tFinal;
yy=ode(y0,0,tt,f);
xset("window",1) ;
plot(tt,yy);
//
function y=y(t);
    y=5/(1-t);
endfunction
//questions 1 et 2
y(tFinal)
ode(y0,0,tFinal,f)
y(tFinal)-ode(y0,0,tFinal,f)

//question3 et 4
tt=0:0.1:tFinal;
yy=ode(y0,0,tt,f);
plot(tt,yy);

tFinal=0.99;tt=0:0.001:tFinal;
yy=ode(y0,0,tt,f);
xset("window",2) ;
plot(tt,yy);

tFinal=0.999;tt=0:0.001:tFinal;
yy=ode(y0,0,tt,f);
xset("window",3) ;
plot(tt,yy);
