Bonjour,
Merci.
J'essaie de trouver les algorithmes en python du chapitre analyse numérique mais j'ai réussi à faire seulement quelques méthodes.
Pour la résolution d'équations non linéaire, par la dichotomie j'ai :
import math
def dichotomie(a,b,e):
delta = 1
while delta > e:
m = a + (b - a) / 2
delta = abs(b - a)
print("{:15} , {:15} , {:15} , {:15} , {:15} , {:15} , {:15} ".format(a,b,m,f(a),f(b),f(m),delta) )
if f(m) == 0:
return m
elif f(a) * f(m) > 0:
a = m
else:
b = m
return a, b, delta
def f(x):
return ( x** 2 * math.log(x) - 2)
print(dichotomie(1, 2, 0.01) )
Ton site est inutilisable et des noms de fonctions en français, quelle horreur
Il y a des petites choses à améliorer dans ta fonction de rechercher d'un intervalle par dichotomie
1) tu calcules avec des flottants, et qui dit float dit NaN et overflows... et aussi erreurs d'arrondi. En particulier, il est possible que a + (b-a)/2.0 donne un résultat inférieur à a ou supérieur à b si les deux sont très proches de 0. D'ailleurs évite les divisions, c'est lent. Tu peux muliplier par 0.5 à la place.
2) Ca fait déjà longtemps que Python a des format strings. tu peux écrire
f"une chaine de caractères contenant {x}. Les expressions sont acceptées entre accolades"
il est toujours intéressant de programmer la dichotomie ...
même si ce n'est pas le plus efficace (en terme de rapidité) c'est un bon exo
j'insiste sur un point évoqué par Ulmiere : tester l'égalité f(m) = 0 est sans intérêt avec des flottants et les arrondis
J'ai pas dit que ça marchait pas, j'ai dit que c'était pas fiable
Voici le même code que toi en Rust, à quelques petites choses près. Là aussi éxécutable dans ton navigateur directement. Ca peut toujours planter si f n'est pas définie là où tu l'exécutes ou si f n'est pas croissante évidemment, mais c'est déjà mieux.
salut,
le lien que tu donnes dans ton post initial est en fait une session Xcas que je propose à des lyceens pour verifier leurs calculs à propos d'un type d'exercice standard (c'est par choix en français)
J'utilise ici Xcas web
Je te conseille d'installer Xcas PC qui est plus performant et plus convivial
Tu pourras avoir acces à l'integralite de la doc en particulier aux algorithmes utilises dans Xcas
En attendant voir quelques sessions sur le forum de Xcas
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :