Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> MATLAB

MATLAB-Integration

Integration befasst sich mit zwei grundsätzlich unterschiedlichen Arten von Problemen.

Bestimmte Integrale werden zum Ermitteln von Fläche, Volumen, Schwerpunkt, Trägheitsmoment, von einer Kraft verrichteter Arbeit und in zahlreichen anderen Anwendungen verwendet.

Unbestimmtes Integral mit MATLAB finden

Wenn die Ableitung einer Funktion f(x) f'(x) ist, dann sagen wir per Definition, dass ein unbestimmtes Integral von f'(x) in Bezug auf x f(x) ist. Zum Beispiel, da die Ableitung (nach x) von x 2 2x ist, können wir sagen, dass ein unbestimmtes Integral von 2x gleich x 2 ist .

In Symbolen −

f'(x 2 ) =2x , also

∫ 2xdx =x 2 .

Unbestimmtes Integral ist nicht eindeutig, weil Ableitung von x 2 + c ist für jeden Wert einer Konstanten c ebenfalls 2x.

Dies wird symbolisch als −

ausgedrückt

∫ 2xdx =x 2 +c .

Wobei c eine 'willkürliche Konstante' genannt wird.

MATLAB stellt ein int bereit Befehl zur Berechnung des Integrals eines Ausdrucks. Um einen Ausdruck für das unbestimmte Integral einer Funktion abzuleiten, schreiben wir −

int(f);

Zum Beispiel aus unserem vorherigen Beispiel −

syms x 
int(2*x)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
   x^2

Beispiel 1

Lassen Sie uns in diesem Beispiel das Integral einiger häufig verwendeter Ausdrücke finden. Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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)

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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)

Beispiel 2

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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))

Beachten Sie, dass hübsch Funktion gibt einen Ausdruck in einem besser lesbaren Format zurück.

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

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

Ermittlung eines bestimmten Integrals mit MATLAB

Per Definition ist ein bestimmtes Integral im Grunde der Grenzwert einer Summe. Wir verwenden bestimmte Integrale, um Flächen wie die Fläche zwischen einer Kurve und der x-Achse und die Fläche zwischen zwei Kurven zu finden. Bestimmte Integrale können auch in anderen Situationen verwendet werden, in denen die erforderliche Menge als Grenzwert einer Summe ausgedrückt werden kann.

Der int Funktion kann für die definitive Integration verwendet werden, indem Sie die Grenzen übergeben, über die Sie das Integral berechnen möchten.

Zu berechnen

wir schreiben,

int(x, a, b)

Zum Beispiel, um den Wert von zu berechnen wir schreiben −

int(x, 4, 9)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
   65/2

Das Folgende ist das Oktaväquivalent der obigen Berechnung −

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 führt den Code aus und gibt das folgende Ergebnis zurück −

Area: 

   32.500

Eine alternative Lösung kann mit der von Octave bereitgestellten quad()-Funktion wie folgt gegeben werden −

pkg load symbolic
symbols

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

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

Octave führt den Code aus und gibt das folgende Ergebnis zurück −

Area: 
   32.500

Beispiel 1

Lassen Sie uns die Fläche berechnen, die zwischen der x-Achse und der Kurve y =x 3 eingeschlossen ist −2x+5 und die Ordinaten x =1 und x =2.

Die benötigte Fläche wird durch −

angegeben

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

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

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

a =
23/4
Area: 
   5.7500

Das Folgende ist das Oktaväquivalent der obigen Berechnung −

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 führt den Code aus und gibt das folgende Ergebnis zurück −

Area: 

   5.7500

Eine alternative Lösung kann mit der von Octave bereitgestellten quad()-Funktion wie folgt gegeben werden −

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 führt den Code aus und gibt das folgende Ergebnis zurück −

Area: 
   5.7500

Beispiel 2

Finde die Fläche unter der Kurve:f(x) =x 2 cos(x) für −4 ≤ x ≤ 9.

Erstellen Sie eine Skriptdatei und schreiben Sie den folgenden Code −

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

Wenn Sie die Datei ausführen, zeichnet MATLAB den Graphen −

Die Ausgabe ist unten angegeben −

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

Das Folgende ist das Oktaväquivalent der obigen Berechnung −

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 - Überblick
  2. MATLAB - Grundlegende Syntax
  3. MATLAB - Variablen
  4. MATLAB - Befehle
  5. MATLAB - Datentypen
  6. MATLAB - Operatoren
  7. MATLAB - Vektoren
  8. MATLAB - Matrix
  9. MATLAB - Arrays
  10. MATLAB - Doppelpunktnotation