// S.Ayrinhac (2013) function [n,x0]=f_zeros(x,y) // Trouve les zéros d'une fonction y(x) // n est un vecteur, qui donne l'indice du zéro dans x, // x0 donne la position de chaque zéro // length(n) et length(x0) donnent le nombre de zéros x0=0; // définir cette variable compteur=1; for p=1:length(y)-1 if sign(y(p+1))==-sign(y(p)); n(compteur)=p+1; deltax=x(p+1)-x(p); if deltax>0 // évite la division par zéro pente=(y(p+1)-y(p))/deltax; ordorigine=y(p)-pente*x(p); if pente~=0 // évite la division par zéro, erreur corrigée : pente>0 x0(compteur)=-ordorigine/pente; else x0(compteur)=(x(p+1)+x(p))/2; end compteur=compteur+1; end end end endfunction