Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> MATLAB

MATLAB - Algèbre

Jusqu'à présent, nous avons vu que tous les exemples fonctionnent dans MATLAB ainsi que son GNU, également appelé Octave. Mais pour résoudre des équations algébriques de base, MATLAB et Octave sont peu différents, nous allons donc essayer de couvrir MATLAB et Octave dans des sections séparées.

Nous aborderons également la factorisation et la simplification des expressions algébriques.

Résoudre des équations algébriques de base dans MATLAB

La résolution La fonction est utilisée pour résoudre des équations algébriques. Dans sa forme la plus simple, la fonction de résolution prend l'équation entre guillemets comme argument.

Par exemple, résolvons pour x dans l'équation x-5 =0

solve('x-5=0')

MATLAB exécutera l'instruction ci-dessus et renverra le résultat suivant −

ans =
   5

Vous pouvez également appeler la fonction de résolution comme −

y = solve('x-5 = 0')

MATLAB exécutera l'instruction ci-dessus et renverra le résultat suivant −

y =
   5

Vous pouvez même ne pas inclure le côté droit de l'équation −

solve('x-5')

MATLAB exécutera l'instruction ci-dessus et renverra le résultat suivant −

ans =
   5

Si l'équation implique plusieurs symboles, MATLAB suppose par défaut que vous résolvez pour x, cependant, la fonction de résolution a une autre forme −

solve(equation, variable)

où, vous pouvez également mentionner la variable.

Par exemple, résolvons l'équation v – u – 3t 2 =0, pour v. Dans ce cas, il faut écrire −

solve('v-u-3*t^2=0', 'v')

MATLAB exécutera l'instruction ci-dessus et renverra le résultat suivant −

ans =
   3*t^2 + u

Résoudre des équations algébriques de base en octave

Les racines est utilisée pour résoudre des équations algébriques dans Octave et vous pouvez écrire les exemples ci-dessus comme suit −

Par exemple, résolvons pour x dans l'équation x-5 =0

Démo en direct
roots([1, -5])

Octave exécutera l'instruction ci-dessus et renverra le résultat suivant −

ans = 5

Vous pouvez également appeler la fonction de résolution comme −

Démo en direct
y = roots([1, -5])

Octave exécutera l'instruction ci-dessus et renverra le résultat suivant −

y = 5

Résoudre des équations quadratiques dans MATLAB

La résolution fonction peut également résoudre des équations d'ordre supérieur. Il est souvent utilisé pour résoudre des équations quadratiques. La fonction renvoie les racines de l'équation dans un tableau.

L'exemple suivant résout l'équation quadratique x 2 -7x +12 =0. Créez un fichier de script et tapez le code suivant −

eq = 'x^2 -7*x + 12 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

The first root is: 
   3
The second root is: 
   4

Résoudre des équations quadratiques en octave

L'exemple suivant résout l'équation quadratique x 2 -7x +12 =0 en Octave. Créez un fichier de script et tapez le code suivant −

Démo en direct
s = roots([1, -7, 12]);

disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

The first root is: 
   4
The second root is: 
   3

Résoudre des équations d'ordre supérieur dans MATLAB

La résolution fonction peut également résoudre des équations d'ordre supérieur. Par exemple, résolvons une équation cubique sous la forme (x-3) 2 (x-7) =0

solve('(x-3)^2*(x-7)=0')

MATLAB exécutera l'instruction ci-dessus et renverra le résultat suivant −

ans =
   3
   3
   7

Dans le cas d'équations d'ordre supérieur, les racines sont longues et contiennent de nombreux termes. Vous pouvez obtenir la valeur numérique de ces racines en les convertissant en double. L'exemple suivant résout l'équation du quatrième ordre x 4 − 7x 3 + 3x 2 − 5x + 9 =0.

Créez un fichier de script et tapez le code suivant −

eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
disp('The third root is: '), disp(s(3));
disp('The fourth root is: '), disp(s(4));

% converting the roots to double type
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Lorsque vous exécutez le fichier, il renvoie le résultat suivant −

The first root is: 
6.630396332390718431485053218985
 The second root is: 
1.0597804633025896291682772499885
 The third root is: 
- 0.34508839784665403032666523448675 - 1.0778362954630176596831109269793*i
 The fourth root is: 
- 0.34508839784665403032666523448675 + 1.0778362954630176596831109269793*i
Numeric value of first root
   6.6304
Numeric value of second root
   1.0598
Numeric value of third root
   -0.3451 - 1.0778i
Numeric value of fourth root
   -0.3451 + 1.0778i

Veuillez noter que les deux dernières racines sont des nombres complexes.

Résoudre des équations d'ordre supérieur en octave

L'exemple suivant résout l'équation du quatrième ordre x 4 − 7x 3 + 3x 2 − 5x + 9 =0.

Créez un fichier de script et tapez le code suivant −

Démo en direct
v = [1, -7,  3, -5, 9];
s = roots(v);

% converting the roots to double type
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Lorsque vous exécutez le fichier, il renvoie le résultat suivant −

Numeric value of first root
 6.6304
Numeric value of second root
-0.34509 + 1.07784i
Numeric value of third root
-0.34509 - 1.07784i
Numeric value of fourth root
 1.0598

Système de résolution d'équations dans MATLAB

La résolution La fonction peut également être utilisée pour générer des solutions de systèmes d'équations impliquant plus d'une variable. Prenons un exemple simple pour illustrer cette utilisation.

Résolvons les équations −

5x + 9a =5

3x – 6a =4

Créez un fichier de script et tapez le code suivant −

s = solve('5*x + 9*y = 5','3*x - 6*y = 4');
s.x
s.y

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

ans =
   22/19
ans =
   -5/57

De la même manière, vous pouvez résoudre des systèmes linéaires plus grands. Considérons l'ensemble d'équations suivant −

x + 3y -2z =5

3x + 5a + 6z =7

2x + 4a + 3z =8

Système de résolution d'équations en octave

Nous avons une approche un peu différente pour résoudre un système de 'n' équations linéaires à 'n' inconnues. Prenons un exemple simple pour illustrer cette utilisation.

Résolvons les équations −

5x + 9a =5

3x – 6a =4

Un tel système d'équations linéaires peut être écrit comme l'équation matricielle unique Ax =b , où A est la matrice de coefficients, b est le vecteur colonne contenant le côté droit des équations linéaires et x est le vecteur colonne représentant la solution comme montré dans le programme ci-dessous −

Créez un fichier de script et tapez le code suivant −

Démo en direct
A = [5, 9; 3, -6];
b = [5;4];
A \ b

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

ans =

   1.157895
  -0.087719

De la même manière, vous pouvez résoudre des systèmes linéaires plus grands comme indiqué ci-dessous −

x + 3y -2z =5

3x + 5a + 6z =7

2x + 4a + 3z =8

Développer et collecter des équations dans MATLAB

Le développer et la collecte fonction se développe et recueille une équation respectivement. L'exemple suivant illustre les concepts −

Lorsque vous travaillez avec de nombreuses fonctions symboliques, vous devez déclarer que vos variables sont symboliques.

Créez un fichier de script et tapez le code suivant −

syms x   %symbolic variable x
syms y   %symbolic variable x
% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(sin(2*x))
expand(cos(x+y))
 
% collecting equations
collect(x^3 *(x-7))
collect(x^4*(x-3)*(x-5))

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

ans =
   x^2 + 4*x - 45
ans =
   x^4 + x^3 - 43*x^2 + 23*x + 210
ans =
   2*cos(x)*sin(x)
ans =
   cos(x)*cos(y) - sin(x)*sin(y)
ans =
   x^4 - 7*x^3
ans =
   x^6 - 8*x^5 + 15*x^4

Développer et collecter des équations en octave

Vous devez avoir symbolique package, qui fournit expand et la collecte fonction pour développer et collecter une équation, respectivement. L'exemple suivant illustre les concepts −

Lorsque vous travaillez avec de nombreuses fonctions symboliques, vous devez déclarer que vos variables sont symboliques, mais Octave a une approche différente pour définir les variables symboliques. Remarquez l'utilisation de Sin et Cos , qui sont également définis dans le package symbolique.

Créez un fichier de script et tapez le code suivant −

% first of all load the package, make sure its installed.
pkg load symbolic

% make symbols module available
symbols

% define symbolic variables
x = sym ('x');
y = sym ('y');
z = sym ('z');

% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(Sin(2*x))
expand(Cos(x+y))
 
% collecting equations
collect(x^3 *(x-7), z)
collect(x^4*(x-3)*(x-5), z)

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

ans =

-45.0+x^2+(4.0)*x
ans =

210.0+x^4-(43.0)*x^2+x^3+(23.0)*x
ans =

sin((2.0)*x)
ans =

cos(y+x)
ans =

x^(3.0)*(-7.0+x)
ans =

(-3.0+x)*x^(4.0)*(-5.0+x)

Factorisation et simplification des expressions algébriques

Le facteur la fonction factorise une expression et la fonction simplifie fonction simplifie une expression. L'exemple suivant illustre le concept −

Exemple

Créez un fichier de script et tapez le code suivant −

syms x
syms y
factor(x^3 - y^3)
factor([x^2-y^2,x^3+y^3])
simplify((x^4-16)/(x^2-4))

Lorsque vous exécutez le fichier, il affiche le résultat suivant −

ans =
   (x - y)*(x^2 + x*y + y^2)
ans =
   [ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)]
ans =
   x^2 + 4

MATLAB

  1. MATLAB - Aperçu
  2. MATLAB - Syntaxe de base
  3. MATLAB-Variables
  4. MATLAB - Commandes
  5. MATLAB - Types de données
  6. MATLAB - Opérateurs
  7. MATLAB - Vecteurs
  8. MATLAB - Matrice
  9. MATLAB - Tableaux