Résolution d'un système d'équations linéaires
Texte de la fonction
principale
Cette instruction
permet d'obtenir
une simplification
automatique de la
condition.
Texte de la fonction
coeffs
35–2
Exemples de programmes
Il est possible de résoudre un système linéaire en plaçant les
coefficients du système dans deux matrices, puis en utilisant
la fonction simult.
Pour les systèmes dégénérés, on utilise la fonction rref.
Le programme suivant permet d'automatiser ce processus.
Ce programme permet de résoudre un système d'équations.
On commence par utiliser la fonction
coefficients du système.
On utilise ensuite la fonction
l'intermédiaire de la fonction
: syst(leq,lvar)
: Func
: Local n, mat, mat1, mat2, cond
: dim(lvar) " n
: coeffs(leq,lvar) " mat
: submat(mat,1,1,n,n) " mat1
: submat(mat,1,n+1,n,n+1) " mat2
: det(mat1)=0 " cond
: cond and true " cond
: when(cond, resol(mat,lvar), simult(mat1,mat2),
simult(mat1,mat2) and not cond)
: EndFunc
Ce programme transforme le système d'équations en une matrice
contenant les coefficients du système.
: coeffs(leq,lvar)
: Func
: Local i, j, n, eq, var, mat, const
: dim(leq) " n
: newmat(n,n+1) " mat
: for i,1,n
"
leq[i]
eq
:
expand(right(eq)-left(eq)) " eq
:
eq " const
:
For j,1,n
:
"
lvar[j]
var
:
d
( eq,var) " mat[i,j]
:
const-mat[i,j]var " const
:
EndFor
:
-const " mat[i,n+1]
:
: EndFor
: mat
: EndFunc
pour récupérer les
coeff
ou la fonction
simult
rref
décrite sur la page suivante.
resol
par