Scilab

Discutez d'informatique ici !
phillipe20
Membre Naturel
Messages: 24
Enregistré le: 28 Mar 2008, 20:40

scilab

par phillipe20 » 16 Avr 2008, 21:53

bonjour,je cherche a traduire cette algorithme en scilab qq1 peut m'aider svp

trapezel(f,a,b,n):={
local s,puiss2,k,lt,s1,j;
s:=evalf((f(a)+f(b))/2);
puiss2:=1;
lt:=[s*(b-a)];
for (k:=1;k<=n;k++) {
s1:=0;
for (j:=0;j s1:=s1+f(a+(2*j+1)*(b-a)/(2*puiss2));
}
s:=s+s1;
puiss2:=2*puiss2;
lt:=concat(lt,s*(b-a)/puiss2);
}
return lt;
}



Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 12:00

par Clembou » 16 Avr 2008, 21:56

phillipe20 a écrit:bonjour,je cherche a traduire cette algorithme en scilab qq1 peut m'aider svp

trapezel(f,a,b,n):={
local s,puiss2,k,lt,s1,j;
s:=evalf((f(a)+f(b))/2);
puiss2:=1;
lt:=[s*(b-a)];
for (k:=1;k<=n;k++) {
s1:=0;
for (j:=0;j<puiss2;j++) {
s1:=s1+f(a+(2*j+1)*(b-a)/(2*puiss2));
}
s:=s+s1;
puiss2:=2*puiss2;
lt:=concat(lt,s*(b-a)/puiss2);
}
return lt;
}


Surement la régle des trapèzes pour l'approximation d'une intégrale :hein:

phillipe20
Membre Naturel
Messages: 24
Enregistré le: 28 Mar 2008, 20:40

par phillipe20 » 16 Avr 2008, 22:05

Oui, c'est la mèthode des trapezes pour l'integration de romberg

Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 12:00

par Clembou » 16 Avr 2008, 22:20

phillipe20 a écrit:Oui, c'est la mèthode des trapezes pour l'integration de romberg


Tu veux quels renseignements ??? :hein: Que fait l'algorithme par exemple ?

phillipe20
Membre Naturel
Messages: 24
Enregistré le: 28 Mar 2008, 20:40

par phillipe20 » 16 Avr 2008, 23:09

ma fonction prend en entrèe a b et n, j'ai alors ma fonction scilab:
function[R]=romberg1(a,b,n)
h=b-a;
J(1,1)=0.5*h*(f(a)+f(b));
for L=2:5
h=h/2
x=a+h:2*h:b-h;
di=h*sum(f(x))
J(L,1)=0.5*J(L-1,1) + di;
end
for c=2:5
for L=c:5
J(L,c)=((4^(c-1))*J(L,c-1)-J(L-1,c-1))/(4^(c-1)-1);
end
end
endfunction
cette fonction doit nous renvoyer un tableau avec des valeurs de l'integrale rechercher, ces valeurs seront de plus en plus precise en augmentant l'ordre.

ex=le calcul de int[0..Pi/2,(x^2+x+1)cos(x)dx] devrait donner:
0.785398
1.726813 2.040610
1.960534 2.038441 2.038296
2.018794 2.038214 2.038199 2.038197
2.033347 2.038198 2.038197 2.038197 2.038197
...

cependant ma fonction est pas completement bonne, scilab ne me renvoie pas ce tableau

bingbang
Messages: 2
Enregistré le: 29 Avr 2008, 23:36

ce quoi la suite?

par bingbang » 29 Avr 2008, 23:46

alors ta trouve comment faire? pour afficher le tableau? merci de ta réponse ))

bingbang
Messages: 2
Enregistré le: 29 Avr 2008, 23:36

a voir

par bingbang » 01 Mai 2008, 17:20

phillipe20 a écrit:
h=b-a;
J(1,1)=0.5*h*(f(a)+f(b));
for L=2:5
h=h/2
x=a+h:2*h:b-h;
di=h*sum(f(x))
J(L,1)=0.5*J(L-1,1) + di;
end
for c=2:5
for L=c:5
J(L,c)=((4^(c-1))*J(L,c-1)-J(L-1,c-1))/(4^(c-1)-1);
end
end
endfunction


déjà scilab va dire que il y a une erreur car, Ton R il est pas dans le programme ! apres comment faire le tableau :mur: :mur:

manonlilou
Messages: 1
Enregistré le: 01 Mar 2012, 16:28

Modèle proies prédateurs scilab

par manonlilou » 01 Mar 2012, 16:35

Bonjour à tous :)
Tout d'abord désolée si je ne me trouve pas dans le bon forum pour la question que je souhaite vous poser! Mais je suis nouvelle ici.

Je viens vous demander votre aide car je suis en train de réfléchir à la manière de traduire cette relation mathématique:
" xn+1 = xn + xn( alpha-beta* yn) deltat
yn+1 = yn - yn( delta - gamma*xn)deltat" on suppose x0=y0=1 et alpha=beta=delta=gamma=1 et deltat= 0.01

en langage scilab.
Voici l'ébauche de ce que j'ai déjà fais (cependant scilab me renvoie un message d'erreur avec "index invalide")
:

clear



a=1
b=1
d=1
g=1
dt= 0.01

i=1000 ;


for n= 0:i
u(0)=1 ;
u(n+1)= u(n)+ u(n)*(a-b*v(n))*dt ;

end


for n= 0:i
v(0)=1 ;
v(n+1)= v(n)-v(n)*(d-g*u(n))*dt ;
end

Merci par avance pour votre aide

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite