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

MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen

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

Bestimmte Integrale werden verwendet, um Flächen, Volumina, Schwerpunkte, Trägheitsmomente, verrichtete Arbeit einer Kraft und in zahlreichen anderen Anwendungen zu berechnen.

Unbestimmtes Integral mit MATLAB finden

Nach Definition ist, wenn die Ableitung einer Funktion f(x) f'(x) ist, dann sagen wir, dass ein unbestimmtes Integral von f'(x) nach x f(x) ist. Zum Beispiel ist, da die Ableitung (nach x) von x2 gleich 2x ist, ein unbestimmtes Integral von 2x gleich x2.

In Symbolen:

f'(x2) = 2x, daher

∫ 2x dx = x2.

Das unbestimmte Integral ist nicht eindeutig, da die Ableitung von x2 + c für jeden Wert einer Konstanten c ebenfalls 2x ist.

Dies wird in Symbolen wie folgt ausgedrückt:

∫ 2x dx = x2 + c.

Dabei wird c als willkürliche Konstante bezeichnet.

MATLAB bietet den Befehl int zur Berechnung des Integrals eines Ausdrucks. Um einen Ausdruck für das unbestimmte Integral einer Funktion abzuleiten, schreiben wir:

 int(f); 

Beispiel aus unserem vorherigen Beispiel:

 syms x int(2*x) 

MATLAB führt die obige Anweisung aus und gibt folgendes Ergebnis zurück:

 ans = x^2 

Beispiel 1

In diesem Beispiel berechnen wir das Integral einiger häufig verwendeter Ausdrücke. Erstellen Sie eine Skriptdatei und geben Sie 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) 

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 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 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 die Funktion pretty einen Ausdruck in einem besser lesbaren Format zurückgibt.

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 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 

Bestimmtes Integral mit MATLAB finden

Nach Definition ist das bestimmte Integral im Wesentlichen der Limes einer Summe. Wir verwenden bestimmte Integrale, um Flächen zu finden, wie die Fläche zwischen einer Kurve und der x-Achse und die Fläche zwischen zwei Kurven. Bestimmte Integrale können auch in anderen Situationen verwendet werden, wo die gesuchte Größe als Limes einer Summe ausgedrückt werden kann.

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

Um zu berechnen

MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen

schreiben wir:

 int(x, a, b) 

Beispiel: Um den Wert von MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen zu berechnen, schreiben wir:

 int(x, 4, 9) 

MATLAB führt die obige Anweisung aus und gibt folgendes Ergebnis zurück:

 ans = 65/2 

Folgendes ist das Octave-Ä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 folgendes Ergebnis zurück:

 Area: 32.500 

Eine alternative Lösung kann mit der quad()-Funktion von Octave 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 folgendes Ergebnis zurück:

 Area: 32.500 

Beispiel 1

Berechnen wir die Fläche, die zwischen der x-Achse, der Kurve y = x3−2x+5 und den Ordinaten x = 1 und x = 2 eingeschlossen ist.

Die gesuchte Fläche wird gegeben durch:

MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen

Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein:

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

Beim Ausführen der Datei wird folgendes Ergebnis angezeigt:

 a = 23/4 Area: 5.7500 

Folgendes ist das Octave-Ä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 folgendes Ergebnis zurück:

 Area: 5.7500 

Eine alternative Lösung kann mit der quad()-Funktion von Octave 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 folgendes Ergebnis zurück:

 Area: 5.7500 

Beispiel 2

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

Erstellen Sie eine Skriptdatei und schreiben Sie folgenden Code:

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

Beim Ausführen der Datei plottet MATLAB den Graphen:

MATLAB Integration meistern: Von Stammfunktionen zu Riemann-Summen

Die Ausgabe ist unten angegeben:

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

Folgendes ist das Octave-Ä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: Umfassender Überblick über die führende numerische Computing-Umgebung
  2. MATLAB Grundlagen: Wesentliche Syntax & Befehle meistern
  3. Variablen in MATLAB verstehen: Grundlagen & Beispiele
  4. Wichtige MATLAB-Befehle für effizientes Computing
  5. MATLAB Datentypen: Umfassender Leitfaden
  6. MATLAB Operatoren meistern: Arithmetik, Logik, Bitweise Operationen
  7. MATLAB Vektoren meistern: Zeilen- und Spaltenvektoren Grundlagen
  8. MATLAB Matrizen Grundlagen: Erstellen, Referenzieren, Manipulieren
  9. MATLAB: Mehrdimensionale und spezielle Arrays meistern
  10. MATLAB-Colon-Notation meistern: Vektoren erstellen & effizient iterieren