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 - Intégration

L'intégration traite deux types de problèmes essentiellement différents.

Les intégrales définies sont utilisées pour trouver l'aire, le volume, le centre de gravité, le moment d'inertie, le travail effectué par une force et dans de nombreuses autres applications.

Rechercher une intégrale indéfinie avec MATLAB

Par définition, si la dérivée d'une fonction f(x) est f'(x), alors on dit qu'une intégrale indéfinie de f'(x) par rapport à x est f(x). Par exemple, puisque la dérivée (par rapport à x) de x 2 est 2x, on peut dire qu'une intégrale indéfinie de 2x est x 2 .

En symboles −

f'(x 2 ) =2x , donc,

∫ 2xdx =x 2 .

L'intégrale indéfinie n'est pas unique, car la dérivée de x 2 + c, pour toute valeur d'une constante c, sera également 2x.

Ceci est exprimé en symboles comme −

∫ 2xdx =x 2 + c .

Où, c est appelé une "constante arbitraire".

MATLAB fournit un int commande pour calculer l'intégrale d'une expression. Pour dériver une expression de l'intégrale indéfinie d'une fonction, on écrit −

int(f);

Par exemple, de notre exemple précédent −

syms x 
int(2*x)

MATLAB exécute l'instruction ci-dessus et renvoie le résultat suivant −

ans =
   x^2

Exemple 1

Dans cet exemple, trouvons l'intégrale de certaines expressions couramment utilisées. Créez un fichier de script et tapez-y le code suivant −

syms x n

int(sym(x^n))
f = 'sin(n*t)'
int(sym(f))
syms a t
int(a*cos(pi*t))
int(a^x)

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

ans =
   piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n + 1)])
f =
sin(n*t)
ans =
   -cos(n*t)/n
   ans =
   (a*sin(pi*t))/pi
   ans =
   a^x/log(a)

Exemple 2

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

syms x n
int(cos(x))
int(exp(x))
int(log(x))
int(x^-1)
int(x^5*cos(5*x))
pretty(int(x^5*cos(5*x)))

int(x^-5)
int(sec(x)^2)
pretty(int(1 - 10*x + 9 * x^2))

int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2)
pretty(int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2))

Notez que le joli La fonction renvoie une expression dans un format plus lisible.

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

ans =
   sin(x)
 
ans =
   exp(x)
 
ans =
   x*(log(x) - 1)
 
ans =
   log(x)
 
ans =
(24*cos(5*x))/3125 + (24*x*sin(5*x))/625 - (12*x^2*cos(5*x))/125 + (x^4*cos(5*x))/5 - (4*x^3*sin(5*x))/25 + (x^5*sin(5*x))/5
                                    2             4 
   24 cos(5 x)   24 x sin(5 x)   12 x  cos(5 x)   x  cos(5 x) 
   ----------- + ------------- - -------------- + ------------ 
      3125            625             125              5 
   
        3             5 
 
   4 x  sin(5 x)   x  sin(5 x) 
   ------------- + ----------- 
         25              5
 
ans =
-1/(4*x^4)
 
ans =
tan(x)
        2 
  x (3 x  - 5 x + 1)
 
ans = 
- (7*x^6)/12 - (3*x^5)/5 + (5*x^4)/8 + x^3/2
 
      6      5      4    3 
    7 x    3 x    5 x    x 
  - ---- - ---- + ---- + -- 
     12     5      8     2

Rechercher une intégrale définie à l'aide de MATLAB

Par définition, l'intégrale définie est fondamentalement la limite d'une somme. Nous utilisons des intégrales définies pour trouver des zones telles que la zone entre une courbe et l'axe des x et la zone entre deux courbes. Les intégrales définies peuvent également être utilisées dans d'autres situations, où la quantité requise peut être exprimée comme la limite d'une somme.

Le entier La fonction peut être utilisée pour une intégration définie en passant les limites sur lesquelles vous voulez calculer l'intégrale.

Pour calculer

nous écrivons,

int(x, a, b)

Par exemple, pour calculer la valeur de nous écrivons −

int(x, 4, 9)

MATLAB exécute l'instruction ci-dessus et renvoie le résultat suivant −

ans =
   65/2

Voici l'équivalent Octave du calcul ci-dessus −

pkg load symbolic
symbols

x = sym("x");
f = x;
c = [1, 0];
integral = polyint(c);

a = polyval(integral, 9) - polyval(integral, 4);
display('Area: '), disp(double(a));

Octave exécute le code et renvoie le résultat suivant −

Area: 

   32.500

Une solution alternative peut être donnée en utilisant la fonction quad() fournie par Octave comme suit −

pkg load symbolic
symbols

f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);

display('Area: '), disp(double(a));

Octave exécute le code et renvoie le résultat suivant −

Area: 
   32.500

Exemple 1

Calculons l'aire comprise entre l'axe des abscisses et la courbe y =x 3 −2x+5 et les ordonnées x =1 et x =2.

La surface requise est donnée par −

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

f = x^3 - 2*x +5;
a = int(f, 1, 2)
display('Area: '), disp(double(a));

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

a =
23/4
Area: 
   5.7500

Voici l'équivalent Octave du calcul ci-dessus −

pkg load symbolic
symbols

x = sym("x");
f = x^3 - 2*x +5;
c = [1, 0, -2, 5];
integral = polyint(c);

a = polyval(integral, 2) - polyval(integral, 1);
display('Area: '), disp(double(a));

Octave exécute le code et renvoie le résultat suivant −

Area: 

   5.7500

Une solution alternative peut être donnée en utilisant la fonction quad() fournie par Octave comme suit −

pkg load symbolic
symbols

x = sym("x");
f = inline("x^3 - 2*x +5");

[a, ierror, nfneval] = quad(f, 1, 2);
display('Area: '), disp(double(a));

Octave exécute le code et renvoie le résultat suivant −

Area: 
   5.7500

Exemple 2

Trouvez l'aire sous la courbe :f(x) =x 2 cos(x) pour −4 ≤ x ≤ 9.

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

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

Lorsque vous exécutez le fichier, MATLAB trace le graphique −

La sortie est donnée ci-dessous −

a = 
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Area: 
   0.3326

Voici l'équivalent Octave du calcul ci-dessus −

pkg load symbolic
symbols

x = sym("x");
f = inline("x^2*cos(x)");

ezplot(f, [-4,9])
print -deps graph.eps

[a, ierror, nfneval] = quad(f, -4, 9);
display('Area: '), disp(double(a));

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