// activité 3 function y=f(x) y=x.*x-2 endfunction function y=df(x) y=2*x endfunction function [x,n]=newton(f,df,x0,eps) x = x0; n=0 while (abs(f(x))>eps) & n< 50 x = x - f(x)/df(x); n=n+1 end endfunction function [x,n]=secante(f,x0,eps) df=(f(x0+0.001)-f(x0))/0.001 x=x0-f(x0)/df n=0 while (abs(f(x))>eps) & n< 50 df=(f(x)-f(x0))/(x-x0) x0=x x = x - f(x)/df; n=n+1 end endfunction function graphe2(f,df,a,b) // Methode de Newton x=linspace(a,b,50) y=feval(x,f) clf() plot2d(x,y) plot2d(x,0*x,1) n=0 i=1 while n==0 i=i+1 c=a-f(a)/df(a) plot2d([a c],[f(a) 0],i) plot2d([c c],[0 f(c)],i) a=c n=input("Pour continuer tapez 0 sinon 1") end endfunction function graphe3(f,a,b) // Methode de la secante x=linspace(a,b,50) y=feval(x,f) clf() plot2d(x,y) plot2d(x,0*x,1) n=0 i=2 df=(f(a+0.001)-f(a))/0.001 c=a-f(a)/df plot2d([a c],[f(a) 0],i) plot2d([c c],[0 f(c)],i) while n==0 i=i+1 df=(f(c)-f(a))/(c-a) x=a-f(a)/df a=c c=x plot2d([a c],[f(a) 0],i) plot2d([c c],[0 f(c)],i) n=input("Pour continuer tapez 0 sinon 1") end endfunction function y=g(x) y=0.5*(x+2/x) endfunction function colimacon(g,a,b) clf x=linspace(a,b,100) y=feval(x,g) ymin=min(0,a,min(y)) ymax=max(0,b,max(y)) plot2d(x,feval(x,g),1,rect=[a ymin b ymax]) plot2d(x,x,2) u0=input('entrer u0') plot2d([u0 u0],[0 g(u0)],3) n=1 i=3 while n==1 plot2d([u0 g(u0)],[g(u0) g(u0)],i) u0=g(u0) plot2d([u0 u0],[u0 g(u0)],i) i=i+1 n=input("pour continuer taper 1") end endfunction