Le TP au format PDF et TEX ainsi que des propositions de correction en SCILAB
SciLab
// on affiche suffisamment de chiffres significatifs format(20) funcprot(0) // taux de variation pour différents h function L = diff_avant(f,x,d) h = 1 for n = 1:d do h = h/2 L(n,1) = h L(n,2) = (f(x+h)-f(x))/h end endfunction // x -> sqrt(1+x) function y = sqa(x) y = sqrt(1+x) endfunction // on observe //diff_avant(sqa,0,30) // différence avant d'ordre 3 pour différents h function L = diff_avant3(f,x,d) L = [] h=1 for n = 1:d do h = h/2 L(n,1) = h L(n,2) = (-f(x+2*h)/6 +f(x+h)-0.5*f(x) -f(x-h)/3)/h end endfunction // on observe //diff_avant3(sqa,0,30) ///////////////////////////////////////////////////////////// // NEWTON COTES ///////////////////////////////////////////////////////////// deff('[y] = p(x)', 'y = %pi - 4/(1+x^2)') // rectangles function R = Rectangles(f,a,b,N) h = (b-a)/N pivots = a + h*[1:N] R = h*sum(feval(pivots,f)) endfunction // trapèzes function T = Trapezes(f,a,b,N) h = (b-a)/N if N == 1 then pivots = [] else pivots = a + h*[1:N-1] end T = h*(sum(feval(pivots,f))+0.5*f(a)+0.5*f(b)) endfunction // Simpson function S = Simpson(f,a,b,N) h = (b-a)/N pivots_ext = a + h*[1:N-1] pivots_mil = a + 0.5*h*(2*[1:N]-1) S = (h/6)*(f(a)+f(b)+2*sum(feval(pivots_ext,f))+4*sum(feval(pivots_mil,f))) endfunction T=[]; for k = 1:10 do T = T; [Rectangles(p,0,1,2^k) Trapezes(p,0,1,2^k) Simpson(p,0,1,2^k)] end; T ////////////////////////////////////////////////////////////// // ROMBERG /////////////////////////////////////////////////////////// function R = Romberg(f,a,b,m) R = zeros(m,m) N = 1 for k = 1:m do //Ap = h*(sum(feval(a+h*[1:2:2^k],f))) A(k,1)=Trapezes(f,a,b,N)//[0.5*A(k-1)+Ap] N = 2*N end for t=2:m do for k=t:m do A(k,t) = (4^{t-1}*A(k,t-1)-A(k-1,t-1))/(4^{t-1}-1) end end R = A endfunction Romberg(p,0,1,5) deff('[y] = a(x)', 'y = 2/(1+4*x^2)') deff('[y] = e(x)', 'y = exp(x)+1-exp(1)') deff('[y] = c(x)', 'y = cos(x^2)') // Romberg(a,-1,2,6) // Romberg(e,0,1,6) // Romberg(c,0,1.25,6) ////////////////////////////////////////////////////////////// // MONTE CARLO ///////////////////////////////////////////////////////////