SCR/AL1 - TOME III. Les librairies utilitaires
Syntax
MAT *M_solve_2(
MAT *m3,
MAT *m,
MAT *m4
)
#else
MAT *M_solve_2(m3, m, m4)
MAT *m3, *m, *m4;
#endif
Description
Résolution d'un système d'équations linéaires par la méthode gaussienne d'élimination. Le système s'écrit sous une forme matricielle: m1 * m3 = m2 où m1 est la matrice carrée du système (nl1 x nc1), m2 est une matrice nl1 x 1, m3 est la matrice résultat nl1 x 1.
Valeur retournée
Si m3 est nul, une matrice de dimension (nl1, 1) est allouée et retournée (la fonction retourne un pointeur nul et positionne M_errno en cas d'espace mémoire insuffisant). Si m3 n'est pas nul, le résultat y est stocké et m3 est retourné. Les dimensions de m1, m2 et m3 doivent être correctes sans quoi le système n'est pas résolu , la variable M_errno est positionnée et la fonction retourne un pointeur nul. Si le système n'a pas de solution réelle, la variable M_errno est positionnée et la fonction retourne un pointeur nul. La fonction M_solve_2() ne modifie pas les matrices d'origine (elle alloue pour ce faire une copie de ces matrices).
La fonction M_solve() est identique mais ne conserve pas les matrices d'origine, elle est cependant moins exigante en mémoire.
Exemple
M_solve_2(m3, m1, m2);
m2 = M_solve_2((MAT*)0, m1, m2);
Voir également
M_free(), M_alloc(), M_solve().
MAT *M_solve_2(MAT *m3, MAT *m, MAT *m4)
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be