Journal
Session Scilab

Session Scilab

Courbes intégrales de l'équation différentielle:

equdiff

Procédure scilab:

function [Xprime] = OdeSysteme(t,X)
    Xprime(1) = 1
    Xprime(2) = SM(X(1),X(2))
endfunction

//------------------------------------------------------------------------------
function [] = TraceSolutions(xmin,ymin,xmax,ymax,n,m)
    x = linspace(xmin,xmax,n); 
    y = linspace(ymin,ymax,n);
    clf();
    fchamp(OdeSysteme,0,x,y,1,[xmin,ymin,xmax,ymax],"031")
    xselect()
    t = linspace(xmin,xmax,m);
    couleurs = [21 2 3 4 5 6 19 28 32 9 13 22 18 21 12 30 27];  // 17 couleurs
    num = -1;
    while %t
	[c_i,c_x,c_y] = xclick();
	if c_i == 0 then
	    plot2d(c_x, c_y, -1, "000")
	    num = modulo(num+1,length(couleurs));
	    u0 = [c_x;c_y];
	    [u] = ode(u0, c_x, linspace(c_x,xmin,m/2), OdeSysteme);
    	    plot2d(u(1,:)',u(2,:)',couleurs(num+1),"000")
	    [u] = ode(u0, c_x, linspace(c_x,xmax,m/2), OdeSysteme);
    	    plot2d(u(1,:)',u(2,:)',couleurs(num+1),"000")
	elseif c_i == 2 then
    	    break
	end
    end
endfunction

Document maître:

function Y=SM(x,y), 
  Y=y/(2*x)+1/(2*x*(1-x)), 
endfunction

getf("ode01.sci")
TraceSolutions(-7,-5,7,5,20,100)

Images:

odea

En prenant un paramètre m plus grand (m=1000) on obtient des courbes plus lisses et le passage de la singularité pour x=0 est mieux représenté.

odeb
Validation CSS Validation XHTMLJean-Michel Sarlat — Dernière modification : 31 janvier 2008 (0.06s - 3018989 - vendredi 16 mai 2008)