|
Posté par phillipe20
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; } |
|
Posté par phillipe20
Oui, c'est la mèthode des trapezes pour l'integration de romberg
|
Que fait l'algorithme par exemple ?
|
Posté par phillipe20
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 |
-