Système d'équation linéaire dans MATLAB

Ammar Ali 30 janvier 2023
  1. Résoudre le système d’équations linéaires à l’aide de la fonction solve() dans MATLAB
  2. Résoudre le système d’équations linéaires à l’aide de la fonction linsolve() dans MATLAB
Système d'équation linéaire dans MATLAB

Ce tutoriel abordera la résolution du système d’équations linéaires à l’aide des fonctions solve() et linsolve() dans Matlab.

Résoudre le système d’équations linéaires à l’aide de la fonction solve() dans MATLAB

Nous pouvons utiliser la fonction intégrée de Matlab solve() pour résoudre le système d’équations linéaires dans Matlab. Tout d’abord, nous pouvons définir les variables à l’aide de la variable syms. Après cela, nous pouvons écrire les équations dans Matlab. Après cela, nous devons utiliser la fonction solve() pour résoudre les équations. Par exemple, définissons des équations dans Matlab et trouvons leur solution à l’aide de la fonction solve(). Voir le code ci-dessous.

syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
matx = solve([eq1, eq2, eq3], [x, y, z]);
xValue = matx.x
yVlaue = matx.y
zValue = matx.z

Production:

xValue =
 
-82/93
 
 
yVlaue =
 
29/31
 
 
zValue =
 
85/93

Comme vous pouvez le voir, il y a trois variables dans l’équation, et il y a trois réponses. Vous pouvez également utiliser la fonction vapsolve() au lieu de la fonction solve() pour obtenir la réponse en numérique. Pour utiliser la fonction vpasolve(), vous devez changer le nom de la fonction solve en vpasolve dans le code ci-dessus. Si les équations sont sous forme matricielle, vous pouvez utiliser la fonction linsolve().

Résoudre le système d’équations linéaires à l’aide de la fonction linsolve() dans MATLAB

La fonction linsolve() est utilisée à la place de la fonction solve() si vous avez des matrices au lieu d’équations. Nous pouvons également convertir les équations sous forme matricielle en utilisant la fonction equationsToMatrix(). Par exemple, définissons quelques équations dans Matlab et trouvons leur solution à l’aide de la fonction linsolve(). Voir le code ci-dessous.

syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
[matA,matB] = equationsToMatrix([eq1, eq2, eq3], [x, y, z])
matX = linsolve(matA,matB)

Production:

 
matA =
 
[  2, 1,  2]
[  2, 5, -1]
[ -3, 2,  6]
 
 
matB =
 
  1
  2
 10
 
 
matX =
 
 -82/93
  29/31
  85/93

Les fonctions solve() et linsolve() sont fournies avec la boîte à outils mathématique symbolique, alors assurez-vous d’avoir installé la boîte à outils pour utiliser ces fonctions.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook