Comment puis-je résoudre un système d'équations linéaires dans Excel?
-
20-09-2019 - |
Question
I ai un système de 22 équations linéaires (exactement 22 équations et inconnues 22) qui sont générées dynamiquement dans une feuille de calcul Excel. Est-il possible d'avoir Excel résoudre le système et produire une valeur pour chacune des variables inconnues?
Une autre question SO a beaucoup de bonnes informations sur les algorithmes utilisés pour résoudre ces équations . règle de Cramer semble particulièrement prometteur, mais je ne suis pas sûr de savoir comment mettre en œuvre dans Excel.
Toute aide est appréciée!
La solution
Cette page donne la méthode simple suivante :
Entrez la matrice de coefficients dans une nxn gamme.
Entrez dans le vecteur de constantes dans une colonne de n-haut. Sélectionner un blanc colonne de n-haut. C'est important que vous avez pas une seule cellule sélectionné.
Type, = PRODUITMAT (INVERSEMAT (coefficients_matrix_range), constants_vector_range) dans la formule zone de texte et appuyez sur [CTRL] [SHIFT] [ENTER]. C'est important que vous n'appuyez simplement sur [ENTER].
Cela devrait fonctionner de manière adéquate, puisque vous avez seulement un petit système (22x22). Bien que, idéalement, vous ne seriez pas inverser la matrice directement, il ne devrait pas d'importance dans ce cas.
Vous ne voulez certainement pas la règle de Cramer. En raison de ses propriétés numériques assez pauvres, il est plus théorique que pratique l'intérêt.
Autres conseils
Qu'en est- Fondation Solver Microsoft ? Je me souviens qu'il ya quelques exemples pour un petit ensemble d'équations simultanées dans la documentation fournie avec la version Express.
Vous ne devriez jamais considérer la règle de Cramer pour résoudre un système linéaire! Il est si inefficace, il est impossible de réaliser des systèmes, même petits.
Excel est pas le bon outil pour résoudre un système linéaire. Si je vous avais j'écrire un script python simple qui lit le fichier Excel, résoudre l'équation (avec numpy) et enregistre le résultat dans un fichier Excel peut lire. (Encore mieux, éviter Excel tout à fait si vous le pouvez).
La fonction Excel LINEST devrait le faire - et sera de retour de meilleurs résultats que MMULT (MINVERSE (...) ...) dans de nombreux cas
.Vous trouverez peut-être aussi le LOGEST, les fonctions de croissance et TREND utile.
Si vous avez des problèmes avec la matrice inverse calc, par exemple sur / sous flux / etc troncature, vous pouvez toujours utiliser le Solver -. d'autre obtenir une copie des recettes numériques en C et traduire en VBA
qui peut être solveur équation linéaire que nous pouvons faire avec le solutionneur mathématique en utilisant équation mathématique de la racine se situe entre deux autres nombre d'une partie exposant du solveur, mais trouver la meilleure façon de solveur d'équations linéaires.