Skip to main content
Ctrl+K
Python für Studierende der Ingenieurwissenschaften - Home Python für Studierende der Ingenieurwissenschaften - Home
  • Willkommen zum interaktiven Vorlesungsskript Python

Grundlagen Programmierung

  • 1. Getting Started
    • 1.1 Hardware und Software
    • 1.2 Programmieren
    • 1.3 Installation und Start von Python
    • Übungen
  • 2. Eingabe, Verarbeitung und Ausgabe
    • 2.1 Taschenrechner und Ausgabe (print)
    • 2.2 Datentypen und Variablen
    • 2.3 Eingabe (input) und Zuweisungsoperator
    • Übungen
  • 3. Listen und Module
    • 3.1 Listen
    • 3.2 Das Modul NumPy
    • 3.3 Das Modul Turtle
    • Übungen
  • 4. Zählschleifen (for), Strings und Zufallszahlen
    • 4.1 for-Schleifen
    • 4.2 Strings
    • 4.3 Zufallszahlen
    • Übungen
  • 5. Programmverzweigung (if - elif - else)
    • 5.1 Vergleiche und der boolesche Datentyp
    • 5.2 Programmverzweigungen: if
    • 5.3 Programmverzweigungen mit mehreren Zweigen: if – elif – else
    • Übungen
  • 6. Funktionen
    • 6.1 Funktionen selbst schreiben
    • 6.2 Funktionen mit Parameter und Rückgabe
    • 6.3 Lokale und globale Variablen
    • Übungen
  • 7. Digitale Logik, Schleifen mit Bedingung, Dictionaries
    • 7.1 Digitale Logik: und, oder, nicht
    • 7.2 Schleifen mit Bedingung (while)
    • 7.3 Dictionaries
    • Übungen

Software Automatisierungstechnik

  • 8. MATLAB
    • 8.1 Einführung MATLAB
    • 8.2 Numerisches Rechnen mit MATLAB
    • 8.3 Programmieren in MATLAB
    • Übung
  • 9. Simulink
    • 9.1 Simulink Einführung
    • 9.2 Simulink-Bibliothek
    • 9.3 Ableitung, Integration und Differentialgleichung mit Simulink
    • Übung

Einführung Data Science

  • 10. Pandas anstatt Excel
    • 10.1 Series und DataFrame
    • 10.2 Arbeiten mit Tabellendaten
    • 10.3 Statistik mit Pandas
    • Übungen
  • 11. Visualisierung mit Matplotlib
    • 11.1 Linien- und Balkendiagramme
    • 11.2 Streudiagramme
    • 11.3 Visualisierung von DataFrames mit Fehlerbalken
    • Übungen
  • 12. Messwerte und Regression
    • 12.1 Theorie Regression
    • 12.2 Lineare Regression mit polyfit und polyval
    • 12.3 Polynomiale Regression
    • Übungen
  • 13. Grundbegriffe Künstliche Intelligenz
    • 13.1 Was ist maschinelles Lernen?
    • 13.2 Überwachtes, unüberwachtes und verstärkendes Lernen
    • Übungen zur Wiederholung
  • Binder logo Binder
  • .ipynb
  • .md

9.3 Ableitung, Integration und Differentialgleichung mit Simulink

Contents

  • Lernziele
  • Ableitung am Beispiel der Sinusfunktion
  • Integration am Beispiel der Wurzelfunktion
  • Lineare Differentialgleichungen 1. Ordnung
  • Zusammenfassung

9.3 Ableitung, Integration und Differentialgleichung mit Simulink#

Bei den Modellen treten sehr häufig Differentialgleichungen auf. In diesem Kapitel betrachten wir die Modellierung einer linearen Differentialgleichung 1. Ordnung mit Simulink. Davor sehen wir uns noch zwei Beispiele zur Ableitung und Integration an.

Lernziele#

Lernziele

  • Sie können eine Funktion in Simulink ableiten.

  • Sie können eine Funktion in Simulink integrieren.

  • Sie können eine lineare Differentialgleichung 1. Ordnung mit Simulink-Blöcken modellieren.

Ableitung am Beispiel der Sinusfunktion#

In dem folgenden Simulink-Modell modellieren wir die 1. Ableitung der Sinus-Funktion. Dazu wählen wir einen Sine-Block als Eingangssignal, verarbeiten diesen durch den Derivative-Block (Derivative ist das englische Wort für Ableitung) und geben anschließend das Ergebnis über den Scope-Block aus. In Simulink sieht das Modell dann folgendermaßen aus:

Screenshot des Simulink-Modells zu Ableitungen

Wenn Sie sich nun das Ergebnis der Ableitung durch Doppelklick auf den Scope-Block ansehen, haben Sie folgende Ansicht:

Screenshot Scope-Block

Auf der einen Seite zeigt das Liniendiagramm die Kosinus-Funktion wie erwartet. Auf der anderen Seite scheint es gerade am Anfang bei \(t=0\) eine Unstimmigkeit zu geben. Woher kommt das?

MATLAB und Simulink sind numerische Softwaretools. Im Gegensatz zu Computer-Algebra-Systemen wie WolframAlpha oder GeoGebra können sie nicht die Lösung einer Gleichung oder eine Ableitung symbolisch berechnen. Stattdessen ermitteln sie Lösung der mathematischen Probleme numerisch. Computer-Algebra-Systeme gehen wie Menschen cor. Das Symbol “hoch 2” wird manipuliert “hoch 1” (Regel: beim Ableiten einer Potenz wird es eins weniger) und als Vorfaktor davor geschrieben. Weil Symbole manipuliert werden, heißt diese Lösungsmethode symbolisch. Stattdessen erstellt MATLAB eine Wertetabelle der Funktion, die abgeleitet werden soll. Danach geht MATLAB diese Tabelle Stück für Stück durch und bildet zwischen dem ersten und dem zweiten Punkt das Steigungsdreieck, dann zwischen dem zweiten und dem dritten Punkt und immer so weiter. Danach zeichnet MATLAB bzw. Simulink die Liste der Steigungen der Steigungsdreiecke und hat damit eine Näherung der 1. Ableitung gefunden.

Integration am Beispiel der Wurzelfunktion#

Als nächstes Beispiel wollen wir die Funktion

\[u(t) = \sqrt{t}\]

integrieren. Das Ergebnis ist eigentlich \(U(t) = \frac{2}{3} t^{3/2} + C\), aber standardmäßig wird die Integrationskonstante auf Null gesetzt, also \(C = 0\).

Um das Eingangssignal \(t\) zu erzeugen, verwenden wir wiederum den Ramp-Block. Danach stecken wir \(t\) in die Wurzelfunktion. Die Wurzelfunktion gehört zu den Math Operations, der entsprechende Block heißt sqrt-Block. Verbinden wir beide Blöcke, so erzeugen wir insgesamt \(\sqrt{t}\).

Nun integrieren wir das Eingangssignal mit dem Integrator-Block, der sich in der Bibliothek Continuos befindet. Das Ergebnis visualisieren wir mit einem Scope-Block.

Das fertige Blockdiagramm zeigt der folgende Screenshot.

Screenshot Scope-Block

Lineare Differentialgleichungen 1. Ordnung#

Nun schauen wir uns noch am Beispiel der folgenden linearen Differentialgleichung 1. Ordnung

\[\dot{x}(t)=-2x+1, \quad x(0)=0,\]

an, wie in Simulink die numerische Lösung der Differentialgleichung konstruiert wird.

Dazu werden nacheinander die Blöcke

  • Sources \(\rightarrow\) Constant

  • Math Operations \(\rightarrow\) Add

  • Continuous \(\rightarrow\) Integrator

  • Commonly Used Blocks \(\rightarrow\) Gain

  • Sinks \(\rightarrow\) Scope

in den Arbeitsbereich gezogen und wie in den folgenden Screenshots rot markiert verbunden. Zuletzt ermöglicht der Start der Simulation eine Visualisierung der numerischen Lösung über die Scope-Ausgabe.

Die folgende Sequenz an Screenshots zeigt nacheinander die notwendigen Schritte, um die Differentialgleichung

\[\dot{x}(t)=-2x+1, \quad x(0)=0,\]

zu modellieren.

Zusammenfassung#

Dieser kurze Einstieg in Simulink kann nur der Anfang sein. Wenn Sie Simulink vertiefen wollen, bietet Mathworks zahlreiche (englischsprachige) Tutorials an.

previous

9.2 Simulink-Bibliothek

next

Übung

Contents
  • Lernziele
  • Ableitung am Beispiel der Sinusfunktion
  • Integration am Beispiel der Wurzelfunktion
  • Lineare Differentialgleichungen 1. Ordnung
  • Zusammenfassung

By Simone Gramsch

Creative Commons License This book is licensed under a Creative Commons BY-NC-SA 4.0 License.