J'écris un programme en python et je dois trouver les racines d'une fonction: où Comment puis-je faire cela dans Python?
J'ai vérifié a code> et
b code> sont des constantes calculées plus tôt dans le programme, mais il y en a plusieurs mille.
J'ai besoin de répéter cette équation deux fois pour toutes les valeurs de
A code> et
B code> une fois avec
n = 77/27 code> et une fois avec
n = n = n = 3 code>. P>
numpy.roots (p) code> et cela fonctionnerait pour quand
n = 3 code> je pense. Mais pour
n = 77/27 code> Comment puis-je pouvoir faire ça? P> p>
4 Réponses :
Je suis si fier de moi-même, je me souviens encore des détails (sans lire le lien!) :) p>
Si vous ne recevez pas cela, regardez ici . P>
Je ne comprends pas comment fonctionne la dernière fonction ... et quelle partie de ceci est celle que je vais courir? Je suppose que c'est celui que je ne comprendrait pas ... ça aurait le plus de sens ... mais je ne comprends pas vraiment les paramètres
D'accord, connaissez-vous des calculs?
Oui je sais que je sais de calculer ... Je pense comprendre les maths derrière cela, je ne comprends tout simplement pas comment la fonction est-elle. Je ne comprends pas comment je suis censé décider du début x1 par exemple et que c'est exactement r_i
Ok, alors ive gère le code plusieurs fois pour voir comment il agit et sa droite la plupart du temps, mais si je lui donne un point de départ loin, cela donne des numéros étranges ... je suppose que le R_I est s'il a plus d'une racine?
Je n'aime réellement que le premier lien beaucoup mieux maintenant, j'ai compris que R_i est en fait si je veux que je retourne le nombre d'itérations qu'il a fallu pour se faire ... Mon seul problème est en fait maintenant une question de mathématiques et c'est ce que le point de départ Est-ce que j'utilise? J'ai testé cela et comparait à Wolframalpha, parfois exactement la même réponse et parfois son chemin ... surtout dans le cas où il y a plus d'une racine ... Toute suggestion?
Oui, c'est la partie difficile. Utilisez le théorème de la valeur intermédiaire pour déterminer où une racine doit exister. Ou, il suffit d'utiliser la valeur minimale de la fonction si vous savez qu'ils ne vont pas trop loin négatif.
Quiconque vient de monter ma réponse, je suis toujours là et je l'apprécie toujours :)
Vous avez besoin d'un algorithme de recherche de racine comme la méthode de Newton. Tous les algorithmes de recherche de racines fonctionneront avec des pouvoirs non entière. Ils n'ont même pas besoin d'être des nombres rationnels. P>
J'utiliserais ceci bien sûr vous donne une racine em>, pas nécessairement tous racines. p> fsolve code> de Scipy,
BRENTQ code>, c'est beaucoup plus rapide fort> p>
fsolve 15.5562820435
brentq 3.84963393211
Je pense que votre choix de bête est impression p> scipy.optimize.brentq ( ) code>
:
En fait, je suis d'accord ... cela pourrait être le meilleur parce que je choisis la gamme sur laquelle il obtient la racine, mais il reste toujours la question de décider de ce que cela devrait être, comme la question de décider de ce que le point de départ devrait utiliser la méthode de Newton
Je reçois une erreur disant: Traceback (appel le plus récent): fichier "/home/saad/document/testing.py", ligne 6, dans
@sbeleidy: Vous devez IMPORT IMPIPY.OPTIMISE CODE> PREMIER - JUSTE
IMPORTER SCIPY code> ne suffit pas.