Problème SCILAB

whizkid Messages postés 478 Statut Membre -  
whizkid Messages postés 478 Statut Membre -
Bonjour,

je suis entrain de me creuser la tête sur scilab pour résoudre un systeme d'equa diff avec la methode adams bashforth, j'ai fait ce bout de code, mais en l'executant il n'affiche rien !!
je suis presque sue que mon programme est bon, le voici :

// declaration des variables  

tsim = 60 
a=0.04 
b=30000000 
c=10000 
dt  = 0.01                  //pas de temps 
n= tsim/dt 

// declaration des matrices  

matA = zeros(n+1,1) 
matB = zeros(n+1,1) 
matC = zeros(n+1,1) 

// conditions initiales  

matA(1,1)=1 
matB(1,1)=0 
matC(1,1)=0 
// calcul du second terme par une methode a un pas 
matA(2,1)=matA(1,1)+dt*(-a*matA(1,1)+c*matB(1,1)*matC(1,1)); 
matB(2,1)=matB(1,1)+dt*(a*matA(1,1)-c*matB(1,1)*matC(1,1)-b*matB(1,1)*matB(1,1)); 
matC(2,1)=matC(1,1)+dt*b*matB(1,1)*matB(1,1); 


// iterations  


// calcul des termes suivants par la methode de ADAMS BASHFORTH 
    for k=2:n 
      matA(k+1,1)= matA(k,1)+(dt/2)*(3*(-a*matA(k,1)+c*matB(k,1)*matC(k,1)) - (-a*matA(k-1,1)+c*matB(k-1,1)*matC(k-1,1))) 
      matB(k+1,1)= matB(k,1)+(dt/2)*(3*(a*matA(k,1)-c*matB(k,1)*matC(k,1)-b*(matB(k,1)*matB(k,1)))-(a*matA(k-1,1)-c*matB(k-1,1)*matC(k-1,1)-b*(matB(k-1,1)*matB(k-1,1)))) 
      matC(k+1,1)= matC(k,1)+(dt/2)*(3*b*(matB(k,1)*matB(k,1)) - b*(matB(k-1,1)*matB(k-1,1))) 
    end 
     
    // plot  
    t=0 :dt :tsim 
    plot2d(t,matB) 
    legend('Evolution B(t)') 


merci pour votre aide



Lisez un livre, dormez tôt, travaillez bien, vivez heureux !!!! o_O
A voir également:
  • Problème SCILAB
  • Scilab - Télécharger - Édition & Programmation

1 réponse

whizkid Messages postés 478 Statut Membre 9
 
UP !!
0