2017-07-24 2 views
-1

Je suis un étudiant et je n'ai pas appris à résoudre des ensembles d'équations de cette manière. Je travaille sur un programme calculant les distances et les temps d'objets en mouvement le long d'un chemin courbe, mais après avoir généré les équations, je suis incapable de les résoudre. Voici comment ils apparaissent:Résoudre un ensemble d'équations 4x4 - python

nombre = à^4 + bt^3 + ct^2 + dt

(il y a 4 d'entre eux avec des valeurs différentes pour t)

Pour un résultat final, Je devrais créer un programme qui prendrait l'entrée des 4 valeurs différentes de t, et les 4 "nombres" qui leur correspondent pour résoudre a, b, c et d. Si quelqu'un pouvait me diriger dans la bonne direction ou me donner de l'aide pour savoir par où commencer, ce serait merveilleux. Merci

P.S Je voudrais offrir le code d'où j'ai commencé, mais le problème est que je ne sais pas comment commencer, donc il n'y a rien à ajouter.

+0

Ceci est probablement un bon point de départ: https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html – dashiell

+0

* "Je ne sais pas par où commencer" * - alors vous n'êtes pas encore prêt à poser une question ici sur SO. – jonrsharpe

+0

Ce n'est pas un problème d'équations différentielles, même si ce sont vos motivations. C'est un problème d'algèbre linéaire - résolvant des équations linéaires simultanées. Savez-vous comment le faire à la main? Si ce n'est pas le cas, apprenez-le d'abord avant d'essayer d'obtenir un ordinateur pour le faire. –

Répondre

1

Si vous avez quatre équations et quatre inconnues, votre meilleur pari est l'algèbre linéaire, les matrices et la résolution d'équations simultanées. Python a de merveilleuses bibliothèques pour cela.

Si vous avez quatre points (t1, n1), (t2, n2), (t3, n3) et (t4, n4) vos équations deviennent:

n1 = a*t1^4 + b*t1^3 + c*t1^2 + d*t1 
n2 = a*t2^4 + b*t2^3 + c*t2^2 + d*t2 
n3 = a*t3^4 + b*t3^3 + c*t3^2 + d*t3 
n4 = a*t4^4 + b*t4^3 + c*t4^2 + d*t4 

Solve pour les coeffcients a, b, c et d à l'aide LU decomposition et le remplacement de retour.

Si vous avez plus de quatre points, vous pouvez toujours résoudre pour quatre coefficients. C'est ce qu'on appelle la méthode des moindres carrés dans ce cas.

+0

Je ne vois pas pourquoi cela a été downvoted. C'est correct, fournit la direction pour un étudiant sans alimentation de cuillère. Je pense que c'est injuste. Expliquez-vous, s'il vous plaît. – duffymo

+0

Je n'étais pas le downvoter. Je suppose que, compte tenu des trois votes à clore (à partir de maintenant), quelqu'un pense que la question est hors sujet et que, par conséquent, répondre aux questions hors sujet sert à les encourager. –

+0

Je voudrais que la personne qui a déprimé pour expliquer. Il y a des moments où je pense que les gens sortent de l'abîme ici. Il n'y a rien de mal à aider quelqu'un, même si nous pensons que sa question n'est pas digne ou assez lourde. Les gens qui ont downvoted pensant que c'était des devoirs pour un étudiant paresseux avaient tort, si le PO est honnête. Je vois le point, mais "encourager" les gens à venir ici pour obtenir de l'aide n'est pas mauvais. Celui-ci est bien meilleur que le millionième utilisateur qui ne comprend pas l'algèbre de base ou la trigonométrie en radians. – duffymo