Bonjour,

Je veux contourner une error avec un logiciel de calcul formel (SAGE ):

RuntimeError: f appears to have no zero on the interval

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
f(x)=2*x*sqrt(1-x**2)
a=0.3
sol1=0
 
try:
    while a< 0.9999999:
        epsi=0.001
        a=a+epsi  
        #print a,a+0.05
        sol=(f(f ( f(x) ))==x).find_root(a,a+0.05)
        #print abs(sol-sol1)
        if abs(sol - sol1) > 1e-10:
            aff=sol
            print a,aff,abs(sol - sol1)
            sol1=sol
except (RuntimeError, TypeError, NameError):
    pass
    a=a+0.05
    print a
except (RuntimeError, TypeError, NameError):
n'affiche pas cette erreur, mais le programme s'arrête

Comment continue la boucle while après cette error ?

@+