je demande le beaucoup de l'aide communautaire et je l'apprécie toutméthode Python newtons émet
Alors ive travaille sur un programme qui permet de résoudre méthode newtons en python, mais pour une raison quelconque sa ne fonctionne pas quelqu'un pourrait regarder au-dessus S'il vous plaît? vous remercie =)
import sympy
from collections import defaultdict
def main():
dir(sympy)
print ("NEWTONS METHOD")
print ("Write your expression in terms of 'x' ")
e = sympy.sympify(raw_input("input expression here: "))
f = sympy.Symbol('x')
func1 = e
func1d = sympy.diff(e,f) #takes the dirivative of the function
print ("the dir of your function = "), func1d
x = input("number to substitute for x: ")
a = input("how many digits would you like to round to [recomended at least 4]")
func1sub = func1.subs({'x':x}) #substitutes the user given value of x into the equation
func1dsub = func1d.subs({'x':x}) #substitutes the user given value of x into the equation
func1sub = float(func1sub)
func1dsub = float(func1dsub)
func1sub = round(func1sub)
func1dsub = round(func1dsub)
round(func1sub,a)
round(func1dsub,a)
n = x - (func1sub/func1dsub)
x1 = 0
x2 = 0
n = x - (func1sub/func1dsub)
x1 = n
x1 = round(x1)
n = x2 - (func1sub/func1dsub)
x2 = n
x2 = round(x2)
while 0 == 0:
if abs(x1-x2) < .0001:
print x1
break
else:
n = x2 - (func1sub/func1dsub)
x2 = n
if abs(x - n) < .03:
print x
if func1dsub == 0:
print ("ERROR CAN NOT DIVIDE BY 0")
main()
Qu'est-ce qui ne fonctionne pas? –
il pend comme son faire quelque chose après je l'ai exécuté, mais rien ne sort. J'ai regardé dessus pendant quelques heures maintenant et ne pas réellement voir ce qui ne va pas, en supposant que c'est une erreur de syntaxe ou quelque chose d'assez nouveau pour python. – Shantanu
vous ne devez pas substituer la valeur à chaque étape de la boucle? –