Résout un système linéaire AX = Y. Les types de données que vous câblez aux entrées Matrice en entrée et Vecteur connu déterminent l'instance polymorphe à utiliser.


icon

Entrées/Sorties

  • c2dcdb.png Matrice en entrée

    Matrice en entrée doit être une matrice complexe, carrée ou rectangulaire, non singulière. Une matrice non singulière est une matrice dans laquelle aucune ligne ou aucune colonne ne contient respectivement de combinaison linéaire d'autres lignes ou d'autres colonnes. Vous ne pouvez pas toujours déterminer à l'avance si la matrice est singulière, particulièrement avec des systèmes importants.

    Lorsque la Matrice en entrée est singulière et que le type de la matrice est Général, le VI recherche la solution par la méthode des moindres carrés. Sinon, le VI renvoie une erreur.

  • c1dcdb.png Vecteur connu

    Vecteur connu est le tableau de valeurs des variables dépendantes. Le nombre d'éléments du Vecteur connu doit correspondre à la taille des lignes de la Matrice en entrée. Si le nombre d'éléments dans le Vecteur connu ne correspond pas au nombre de lignes de la Matrice en entrée, le VI définit le Vecteur solution comme étant un tableau vide et renvoie une erreur.

  • cenum.png type de la matrice

    type de la matrice est le type de la Matrice en entrée. Le fait de connaître le type de la Matrice en entrée peut augmenter la vitesse de calcul du Vecteur solution et vous aider à éviter des calculs superflus, ces derniers pouvant introduire une imprécision numérique.

    0
    General
    (valeur par défaut)
    1
    Positive definite
    2
    Lower triangular
    3
    Upper triangular
  • i1dcdb.png Vecteur solution

    Vecteur solution est la solution X de AX = Y, où A est la Matrice en entrée et Y est le Vecteur connu.

  • ii32.png erreur

    erreur renvoie toute erreur ou mise en garde générée par le VI. Vous pouvez câbler erreur au VI Convertir un code d'erreur en cluster d'erreur pour convertir le code d'erreur ou la mise en garde en cluster d'erreur.

  • Soient A une matrice (m, n) qui représente la matrice en entrée, Y l'ensemble des m coefficients du vecteur connu et X l'ensemble des n éléments du vecteur solution qui résout le système :

    AX = Y

    Quand m > n, le système possède plus d'équations que d'inconnues et devient de ce fait un système surdéterminé. Comme la solution satisfaisant AX = Y peut ne pas exister, le VI recherche par la méthode des moindres carrés la solution X qui minimise ||AX – Y||.

    Quand m < n, le système possède plus d'inconnues que d'équations et devient de ce fait un système sous-déterminé. Elle peut avoir une infinité de solutions qui satisfont AX = Y. Le VI trouve l'une de ces solutions.

    Dans le cas où m = n, si A est une matrice non singulière (autrement dit, si aucune ligne ou colonne n'est respectivement une combinaison linéaire d'une autre ligne ou d'une autre colonne), vous pouvez résoudre le système pour X en décomposant la matrice A en entrée en ses matrices triangulaires inférieure et supérieure, L et U, telles que

    AX = LZ = Y

    et

    Z = UX

    peut être une alternative à la représentation du système originel. Veuillez noter que Z est lui aussi un vecteur à n éléments.

    Les systèmes triangulaires sont faciles à résoudre en utilisant des techniques récursives. Par conséquent, quand vous obtenez les matrices L et U à partir de A, vous pouvez rechercher Z à partir du système LZ = Y et X à partir du système UX = Z.

    Dans le cas où mn, A peut être décomposée en une matrice orthogonale Q et une matrice triangulaire supérieure R, telles que A = QR. Le système linéaire peut alors être représenté par QRX = Y. Vous pouvez alors résoudre RX = QTY.

    Vous pouvez facilement résoudre ce système triangulaire pour obtenir x en utilisant des techniques récursives.

    Remarque Vous ne pouvez pas toujours déterminer à l'avance si la matrice est singulière, particulièrement avec des systèmes de taille importante. Le VI Résoudre des équations linéaires détecte les matrices singulières et renvoie une erreur ; de ce fait, vous n'avez pas besoin de vérifier si vous êtes en présence d'un système valide avant d'utiliser ce VI.

    La mise en œuvre numérique de l'inversion de matrice est numériquement intensive et, en raison de sa nature récursive, elle est aussi particulièrement sensible aux erreurs d'arrondi introduites par le coprocesseur numérique à virgule flottante. Même si les calculs utilisent la précision maximale possible, le VI ne peut pas toujours résoudre le système.

    Résoudre des équations linéaires complexes

    Soient A une matrice (m, n) qui représente la matrice en entrée, Y l'ensemble des m éléments du vecteur connu et X l'ensemble des n éléments du vecteur solution qui résout le système :

    AX = Y

    Quand m > n, le système possède plus d'équations que d'inconnues et devient de ce fait un système surdéterminé. Comme la solution satisfaisant AX = Y peut ne pas exister, le VI recherche par la méthode des moindres carrés la solution X, qui minimise ||AX – Y||.

    Quand m < n, le système possède plus d'inconnues que d'équations et devient de ce fait un système sous-déterminé. Elle peut avoir une infinité de solutions qui satisfont AX = Y. Le VI sélectionne ensuite l'une de ces solutions.

    Quand m = n, si A est une matrice non singulière (autrement dit, si aucune ligne ou colonne n'est respectivement une combinaison linéaire d'une autre ligne ou colonne), vous pouvez résoudre le système pour X en décomposant la matrice en entrée A en ses matrices triangulaires inférieure et supérieure, L et U, telles que

    AX = LZ = Y

    et

    Z = UX

    peut être une alternative à la représentation du système originel. Veuillez noter que Z est lui aussi un vecteur à n éléments.

    Les systèmes triangulaires sont faciles à résoudre en utilisant des techniques récursives. Par conséquent, quand vous obtenez les matrices L et U à partir de A, vous pouvez rechercher Z à partir du système LZ = Y et X à partir du système UX = Z.

    Lorsque mn, A peut être décomposé en une matrice orthogonale Q et une matrice triangulaire supérieure R, de sorte que A = QR, et le système linéaire peut être représenté par QRX = Y. Vous pouvez alors résoudre RX =QHY. Vous pouvez facilement résoudre ce système triangulaire pour obtenir X en utilisant des techniques récursives.

    Remarque La mise en œuvre numérique de l'inversion de matrice est numériquement intensive et, en raison de sa nature récursive, elle est aussi particulièrement sensible aux erreurs d'arrondi introduites par le coprocesseur numérique à virgule flottante. Même si les calculs utilisent la précision maximale possible, le VI ne peut pas toujours résoudre le système.

    Exemples

    Reportez-vous aux exemples de fichiers inclus avec LabVIEW suivants.

    • labview\examples\Mathematics\Linear Algebra\Linear Algebra Calculator.vi