function [x,u]=rk4_Equa_octave(x0,x1,n,u0) ######################################################################### # fonction permettant la resolution par la methode de Runge-Kutta d'ordre 4 de l'equation : # -u''=sin(pi*x) 0<=x<=1 # u(0)=u(1)=0 # Entrees: # x0 = valeur initial de l'abscisse # x1 = valeur finale de l'abscisse # n = nombre de pas d'abscisse # u0 = conditions initiales a l'abscisse x0 # Sorties: # x = vecteur contenant les valeurs d'abscisse # u = matrice contenant la solution ######################################################################### # Auteur: Ambroise Brou # Date de creation: Fev 2007 ######################################################################### format long u=zeros(2,n+2); # initialisation de la matrice u x=zeros(1,n+2); # initialisation de la matrice u x(1)=x0; x(n+2)=x1; u(:,1)=u0; # conditions initiales h=(x1-x0)/(n+1); # pas de discrétisation for i=1:n+1 M=[0 1 ;0 0]; B=[0;-sin(pi*x(i))]; k1=h*F(u(:,i),M,B); k2=h*F(u(:,i)+k1/2,M,B); k3=h*F(u(:,i)+k2/2,M,B); k4=h*F(u(:,i)+k3,M,B); u(:,i+1)=u(:,i)+(k1+2*k2+2*k3+k4)/6; x(i+1)=x(1)+i*h; endfor return endfunction