Python für Ingenieure für Dummies
Python für Ingenieure für Dummies
Bibliografische Informationder Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de
abrufbar.
© 2022 Wiley-VCH GmbH Weinheim
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Print ISBN: 978-3-527-71767-5
ePub ISBN: 978-3-527-82846-3
Coverillustration: Carsten Knoll – https://python-fuer-ingenieure.de
Korrektur: Matthias Delbrück, Dossenheim/Bergstraße
Carsten Knoll studierte an der TU Dresden Mechatronik und ist dort inzwischen als Postdoktorand am Institut für Regelungs- und Steuerungstheorie tätig. Seine ersten Erfahrungen mit Python machte er bereits im ersten Semester in einem inspirierenden Workshop und vertiefte sie beständig durch den Einsatz in diversen Lehrveranstaltungen sowie Tätigkeiten in verschiedenen Instituten und Laboren. Um seine Begeisterung zu teilen und dieses Wissen weiterzugeben, initiierte er 2010 zusammen mit anderen Doktoranden eine fächerübergreifende Lehrveranstaltung und entwickelte sie seitdem inhaltlich und methodisch zum aktuellen »Pythonkurs für Ingenieur:innen« weiter.
Neben Regelungstechnik und Python-Programmierung befasst er sich unter anderem mit Aspekten des Maschinellen Lernens und der digitalen Wissensrepräsentation – sowie mit der Frage, wie diese Ansätze zur Lösung der großen Herausforderungen des 21. Jahrhunderts beitragen können.
Robert Heedt ist ebenfalls Absolvent der TU Dresden und Ingenieur der Elektrotechnik. Sein Arbeitsgebiet ist die Regelungstechnik, aus dem die Rechentechnik schon lange nicht mehr wegzudenken ist. Nach jahrelanger Odyssee durch die Welt der Programmiersprachen ist er jetzt im Python-Hafen gelandet.
Für Maria und meine Eltern. Ohne Euch hätte ich das nicht geschafft.
Für meine Eltern. Danke für Eure bedingungslose Unterstützung.
Die Autoren bedanken sich aufs Herzlichste bei Frau Andrea Baulig vom Verlag Wiley-VCH für den Anstoß zu diesem Projekt, die sehr konstruktive Kombination aus Motivation und Ermahnung sowie die Übernahme organisatorischer Details. Herrn Prof. Smits danken wir ebenfalls sehr herzlich für die sehr professionelle fachliche Korrektur des Manuskripts und die wertvollen Hinweise (alle verbliebenen Schwächen des Buches gehen natürlich auf unsere Kappe).
Wir danken auch unseren Kolleginnen und Kollegen sowie den Studierenden am Institut für Regelungs- und Steuerungstheorie, die sowohl mit Tipps als auch mit Fragen und Diskussionen eine beständige Inspirationsquelle für dieses Buch waren.
Nicht zuletzt gilt unser Dank den vielen Menschen, die durch Fähigkeiten, Fleiß und Enthusiasmus die Python-Welt zu dem gemacht haben, was sie ist.
»Dem Ingenieur ist nichts zu schwör!« – Diese Herangehensweise hat über viele Jahre mehr oder weniger das Bild von Ingenieurinnen und Ingenieuren geprägt. Seit der Entstehungszeit dieses Credos in der Ära der Reißbretter und Tabellenbücher haben sich die Ingenieurwissenschaften aber erheblich weiterentwickelt. Digitale Werkzeuge bestimmen mehr denn je den Ingenieuralltag. Sie ermöglichen es, in kurzer Zeit Probleme zu lösen, die noch vor einer Generation unlösbar schienen. Mit diesen gestiegenen (und permanent weiter steigenden) Möglichkeiten wachsen aber auch die Erwartungshaltung und die Anforderung an Ingenieur:innen.
Der souveräne Umgang mit digitalen Werkzeugen ist kein Selbstläufer, sondern muss mit Mühe und Aufwand erlernt werden. Um so ärgerlicher ist es, wenn die hart erarbeiteten Fähigkeiten aus der Mode kommen oder sich aufgrund von Lizenzbeschränkungen (zum Beispiel beim Wechsel aus der Hochschule in ein Startup) nicht anwenden lassen. Die Programmiersprache Python und das darauf basierende Ökosystem aus Zusatzpaketen bieten vor diesem Hintergrund eine exzellente Wahl. Einerseits steigt die Popularität von Python seit den 1990ern moderat, aber beständig – das genaue Gegenteil von sonst häufigen Hype-Zyklen. Zum anderen sind alle relevanten Komponenten freie Software und plattformunabhängig – mehr Freiheit geht nicht.
Leider ist die Ingenieur-Ausbildung teilweise erstaunlich rückständig konservativ, weswegen das Lösen von Ingenieur-Problemen mithilfe digitaler Werkzeuge bisher kaum als Lehrveranstaltung angeboten wird – oder wenn, dann oft als kommerziell motivierte externe »Produktschulung« mit den oben angedeuteten Lizenz- und Abhängigkeitsproblemen. Das vorliegende Buch soll dem Abhilfe schaffen.
Dieses Buch soll Sie befähigen, vielfältige Aufgabenstellungen mit Python zu lösen. Es vermittelt dabei sowohl das grundsätzliche Herangehen als auch ganz konkrete Tipps und Tricks. Um dieses Wissen möglichst interessant, nachvollziehbar und anwendungsfreundlich darzustellen, werden Sie in diesem Buch auf eine Vielzahl von Beispielen treffen. Manche nur für einen dreizeiligen Codeschnipsel, andere für ein komplexeres Szenario, das sich einer praxisrelevanten Fragestellung widmet. Dabei finden Sie einen thematischen Streifzug durch viele Ingenieurdisziplinen: Von der Biegelinie eines Balkens über optimale Mischverhältnisse in der Verfahrenstechnik und die jω-Wechselstromrechnung bis zur Fourier-Analyse und Simulation eines Regelkreises im Zustandsraum ist (fast) alles dabei, was das Herz begehrt.
Zum Ingenieuralltag gehört auch der Umgang mit Zielkonflikten: Ein Fahrradrahmen kann zum Beispiel entweder extrem leicht oder extrem stabil sein. Am sinnvollsten ist aber ein auf typische Anwendungsfälle zugeschnittener Kompromiss. So ähnlich ist es auch bei diesem Buch: Die behandelten Code-Beispiele könnten entweder sehr einfach gestrickt sein, wären aber dafür weit weg von jedem Anwendungsbezug. Das andere Extrem wäre, an jedes Beispiel einen harten Realismusanspruch zu stellen und dabei die Verständlichkeit außer Acht zu lassen.
Ziel des Buches ist es, für eine möglichst große Zielgruppe möglichst oft den optimalen Bereich zwischen langweiliger Trivialität und demotivierender Komplexität zu treffen.
Diese Buch richtet sich an Menschen, die sich für Technik interessieren, wie sie funktioniert und wie man sie verbessern kann. Wir vermuten, dass sich dieses Interesse in einer gewissen Vorbildung niedergeschlagen hat und wollen unsere Zielgruppe weder langweilen noch überfordern. Idealerweise haben Sie
Die Entstehung des Buches fällt in eine Zeit, in der mitunter sehr aufgeregt emotional über das Für und Wider verschiedener Formulierungen gestritten wird. Einige potenzielle Leser:innen werden das Buch vielleicht hochmütig ignoriert haben, weil der grammatikalisch maskuline Titel »für Ingenieure« ihrem Anspruch an geschlechtsneutrale Sprache zuwiderläuft. Andere werden beim ersten Auftreten von Syntaxinnovationen wie »Ingenieur:innen« einen mittleren Empörungsanfall bekommen und eine rituelle Verbrennung des Buches in Erwägung ziehen. Wir vertrauen jedoch darauf, dass die große Mehrzahl der Leserinnen und Leser ihren gesunden Menschenverstand einsetzt und weder der einen noch der anderen Überreaktion zum Opfer fällt. Selbstverständlich sind mit dem Titel und anderen maskulinen oder femininen Formulierungen grundsätzlich alle angesprochen, unabhängig davon, welchem Geschlecht sie sich zuordnen. Es sollte aber nicht überraschen, dass uns als Autoren eines Buches voller formaler Logik und wichtiger (programmier-)sprachlicher Detailnuancen das Konzept des »generischen Maskulinums«, wonach »der Ingenieur« ein neutraler Oberbegriff von »der Ingenieur« und »die Ingenieurin« sein soll, nicht so 100 % überzeugt. Andererseits haben wir auch (noch) keine ultimative Lösung und behelfen uns daher mit einem Mix aus klassischem und innovativem Sprachgebrauch. Ein ähnlicher Pragmatismus gilt in diesem Buch übrigens auch für den Umgang mit Anglizismen.
Nicht alles in diesem Buch ist für alle Leser:innen gleich wichtig. Grundsätzlich gilt, dass der Inhalt weiter vorn von eher allgemeinem Interesse ist und nach hinten immer spezieller wird. Andererseits kann es natürlich sein, dass Sie schon ein paar Erfahrungen mit Python haben und die ersten Kapitel deshalb nicht benötigen. Grundsätzlich gilt: Lesen Sie nur das, was Sie interessiert! Wenn Sie in einem der hinteren Kapitel ein Sprachkonstrukt oder einen Funktionsaufruf nicht verstehen, lohnt sich aber ein Blick in die vorderen (und ins Stichwortverzeichnis). Die Chance ist groß, dort Aufklärung zu finden. Wenn Sie inhaltlich mal bei einem Beispiel aussteigen: Machen Sie sich nichts draus. Die Ingenieurwissenschaften sind ein weites Feld und niemand kann alles.
Eine erfolgreiche Herangehensweise aus der Informatik ist es, in Schnittstellen zu denken. Sie müssen nicht wissen, wie ein Magnetron funktioniert (oder was das ist), um einen Mikrowellenherd zu benutzen. Es reicht, die Schnittstellen zu verstehen (Timer, Türknopf, »Pling«). Genauso ist es mit Code. Sie müssen nicht immer im Detail verstehen, wie eine Funktion oder ein Code-Abschnitt genau arbeitet. Oft reicht es zu verstehen, was die Eingangsdaten sind und was das Ergebnis ist oder bewirkt. Konzentrieren Sie Ihre Aufmerksamkeit auf die Bereiche, die aktuell relevant für Sie sind.
Das Buch ist in folgende Teile untergliedert:
Hier setzen wir den Zug aufs Gleis und rollen behutsam los. Den Anfang macht das (möglicherweise) allererste Ausführen eines Python-Programms – schön bequem online im Browser. Es folgen Installation und Inbetriebnahme sowie ein kompakter Überblick über die wichtigsten Sprachelemente von Python.
Der zweite Teil beinhaltet gewissermaßen das Grundstudium des Buches und das heißt, es kommt einiges an Mathematik vor. Aber natürlich müssen Sie nicht seitenweise mit Zahlenkolonnen oder Buchstabensalaten rumrechnen. Diese Arbeit soll Ihnen Python ja abnehmen und hier lernen Sie, wie das funktioniert. Außerdem geht es um Visualisierung, also wie sie aus Zahlen und Formeln schöne Kurven und Bilder machen.
Jetzt geht es ans Eingemachte: Optimierung, Kurven fitten, Simulation, Regelung, Fourier-Analyse und diverse statistische Untersuchungen. Dazu noch ein eigenes Kapitel über Mechanik, vom verbogenen Balken bis zum schwingenden Doppelpendel. Diese Methoden kommen in vielen Ingenieursanwendungen vor und bilden mit hoher Wahrscheinlichkeit den produktiven Kern Ihrer zukünftigen Python-Fähigkeiten.
Zwischen einem »Es funktioniert ... irgendwie«-Prototyp und einem anwendungsbereiten Endprodukt liegt oft noch ein gutes Stück Arbeit. In diesem Teil lernen Sie, wie Sie ihren Code schneller machen, aber auch wie Sie mithilfe von Modularisierung, automatischen Tests und Objektorientierung unübersichtlichen Spaghetti-Code verhindern und auch mit größerer Komplexität klarkommen.
Dieser Teil beinhaltet übersichtliche Auflistungen von nützlichen Paketen, typischen Fehlern und coolen Tricks. Außerdem sind hier die wichtigsten Links zu guten Referenzen und Dokumentationen zusammengefasst.
Um den Text in überschaubare Häppchen zu gliedern und die Art des Inhalts gleich optisch deutlich zu machen, gibt es die folgenden Symbol-Abschnitte:
Um es gleich mal klar zu machen: Programmieren lernt man durch Programmieren. Dieses Buch von vorn bis hinten im Gartenstuhl sitzend oder auf dem Sofa liegend durchzulesen, ist also nicht die beste Idee. Je mehr Sie dagegen am Computer selber ausprobieren, umso mehr Lernerfolg und Nutzen werden Sie durch dieses Buch haben. Dafür haben wir eine Vielzahl an ausführlich kommentierten Codeschnipseln in den Text eingebaut. Zum Ausprobieren müssen Sie diesen Code natürlich nicht abtippen. Er steht unter https://www.wiley-vch.de/ISBN9783527717675
sowie unter https://python-fuer-ingenieure.de
zum Herunterladen oder direkten Online-Ausprobieren zur Verfügung. Neben der gesparten Tipparbeit gibt es zwei weitere Vorteile des Online-Begleitmaterials: Die aus dem Code resultierenden Abbildungen sind dort direkt nach dem jeweiligen Schnipsel in voller Farbenpracht eingebettet und alle Links aus dem Buch sind direkt anklickbar aufgelistet.
Das bedeutet aber nicht, dass wir Ihnen grundsätzlich vom Selbertippen abraten, im Gegenteil. Der Lerneffekt durch reines Kopieren und Ausführen unserer Beispiele und das bloße Abnicken der Ergebnisse ist sehr überschaubar. Stattdessen sollten Sie Ihrem Spieltrieb freien Lauf lassen und den Code nach eigenen Vorstellungen abändern, zerlegen und neu zusammenbauen. Haben Sie dabei keine Angst vor Fehlermeldungen! Die gehören zum Programmieren dazu und sind dazu da, um Ihnen bei der Problemlösung zu helfen.
Wenn Sie ein Buch »ordentlich durcharbeiten«, geht das an diesem natürlich nicht spurlos vorbei. Im Gegenteil: Unterstreichungen, Randnotizen und Eselsohren sind explizit erwünscht und helfen erwiesenermaßen beim Verstehen und Behalten.
Teil I
Kapitel 1
IN DIESEM KAPITEL
Computer sind aus dem Ingenieursalltag – wie auch aus dem Rest des Lebens – nicht mehr wegzudenken. Egal ob Sie Maschinen auslegen, Daten analysieren oder visualisieren wollen oder eine Vermutung durch Simulation überprüfen, fast jeder Schritt wird durch Software unterstützt. Viele sind mit etwas Tabellenkalkulation und dem gelegentlichen Spezialprogramm für eine besondere Anwendung bereits zufrieden. Doch sobald Sie sich abseits ausgelaufener Pfade bewegen wollen, kann ein bisschen maßgeschneiderter Code Ihre Arbeit enorm erleichtern.
Fortgeschrittene Nutzer, zu denen Sie mit hoher Wahrscheinlichkeit zählen, bauen sich diese Lösungen einfach selbst. Dazu greifen in den letzten Jahren immer mehr und mehr Menschen auf Python zurück. Aktuelle Statistiken wie die stackoverflow.com-Entwicklerumfrage 2020 sprechen Bände: Python ist die am vierthäufigsten verwendete Programmiersprache und rangiert damit vor Java, C#, C++ und vielleicht allen anderen alteingesessenen Sprachen, die Ihnen bisher begegnet sind. Und Leute nutzen Python nicht unter Zwang, auf der Beliebtheitsskala ist Python auf Platz 3. Unter den Sprachen, die Menschen gerne mal ausprobieren möchten, nimmt Python sogar den ersten Platz ein.
Woher kommt diese Begeisterung? Hier ein kurzer Überblick über die wichtigsten Schlagwörter: Python …
list
, tuple
, dict
).Und das Beste: Python ist freie Software, also komplett kostenlos und quelloffen. Damit steht es im starken Kontrast zum Großteil der sehr teuren Softwarepakete für Ingenieursanwendungen.
Wem ist das alles zu verdanken? Die Version 1.0 wurde 1994 vom Niederländer Guido van Rossum veröffentlicht. Der Name ist abgeleitet von der britischen Komikertruppe »Monty Python«, die Assoziation mit der Schlange folgte erst später. Die Weiterentwicklung der Sprache wird jetzt koordiniert von der »Python Software Foundation«, mit van Rossum (bis 2018) in der Position des »wohlwollenden Diktators auf Lebenszeit«. Der Antrieb kommt jedoch aus der globalen Community, bestehend aus professionellen Programmierern in verschiedenen Firmen und Freiwilligen, die Fehler beheben, eigene Pakete veröffentlichen und Änderungsvorschläge an der Sprache selbst in Form sogenannter »Python Enhancement Proposals« (PEP) einreichen.
Dieser Community haben wir auch die starke Prägung in Richtung Wissenschafts- und Ingenieursanwendungen zu verdanken. Dank vieler kostenloser und hochqualitativer Pakete können Sie mit Python unter anderem
Sicher brennt es Ihnen jetzt unter den Fingern, direkt loszulegen. Damit Ihnen kein langer Installationsprozess den Wind aus den Segeln nimmt, empfehlen wir, die nächsten Beispiele im Browser auszuprobieren.
Nach einer kurzen Ladezeit von etwa einer Minute befinden Sie sich in der Jupyter-Oberfläche. Öffnen Sie jetzt das Notebook mit dem Namen Leeres Notebook.ipynb
. Es gibt viele Arten, Python auszuführen. Neben dem klassischen Code in Textdateien bietet sich gerade für die Erkundungsphase ein interaktiver Interpreter an, in dem man sich jederzeit Zwischenergebnisse anzeigen lassen kann. Das bietet unter anderem die Notebook-Oberfläche, in der Sie sich gerade befinden. Code ist hier in sogenannte Zellen unterteilt, die einzeln ausgeführt werden können. Wie das aussieht, sehen Sie in Abbildung 1.1.
Abbildung 1.1: Oberfläche eines Jupyter-Notebooks. Code ist in einzeln ausführbare Zellen unterteilt, Grafiken werden direkt eingebettet.
Probieren geht über studieren – klicken Sie in die leere Zelle und geben Sie ein:
Klicken Sie dann auf den Button RUN oder nutzen Sie die Tastenkombination , um die Zelle auszuführen. Das Ergebnis sollte jetzt mit der Beschriftung
Out[1]:
aufgetaucht sein. Wenn die letzte Zeile einen Wert enthält – und zwar ohne =
davor – wird dieser immer automatisch ausgegeben.
- Ist Ihr Cursor innerhalb einer Zelle, befinden Sie sich im Eingabemodus. Von hier aus können Sie aus mehreren Tasten bestehende Kombinationen ausführen (wie eben
).
- Ist kein Textcursor zu sehen, sondern eine ganze Zelle ausgewählt, befinden Sie sich im Befehlsmodus. Jetzt können Sie auch Kürzel aus einzelnen Buchstaben nutzen.
In den Eingabemodus wechseln Sie mit , mit
kehren Sie zum Befehlsmodus zurück.
führt Zelle aus und bewegt Cursor in nächste Zelle
führt Zelle aus und belässt Cursor auf aktueller Zelle
fügt neue Zelle über aktueller Zelle ein (»above«)
fügt neue Zelle unter aktueller Zelle ein (»below«)
zeigt Übersicht mit allen Tastenkürzeln an
Über die Schaltfläche HELP | USER INTERFACE TOUR gelangen Sie außerdem zu einem interaktiven Überblick über die gesamte Benutzeroberfläche.
Die erste nützliche Verwendung von Python ist als Taschenrechner, und zwar mit einer solchen Fülle von Funktionen, dass Ihr wissenschaftlicher Taschenrechner aus Schulzeiten einpacken kann. Neben den Grundrechenarten und Elementarfunktionen können Sie auch große Listen von Daten in einem Rutsch auswerten, mit Vektoren und Matrizen rechnen sowie sich Diagramme jeglicher Art anzeigen lassen. Aber fangen wir erst einmal einfach an.
Wenn es über die Grundrechenarten hinausgehen soll, müssen Sie das Modul math
importieren. Das ist in der Standardbibliothek enthalten, damit bei jeder Python-Installation bereits dabei und muss nur importiert werden.
In der letzten Zeile können Sie erkennen, dass wir immer noch mit Gleitkommazahlen rechnen und gelegentlich auf deren numerische Beschränkungen stoßen. Symbolische Rechnung geht natürlich auch, sie hätte hier das exakte Ergebnis von −1 geliefert. Dazu jedoch erst in Kapitel 6 »Brunftzeit für Termhirsche« mehr.
Wenn Sie Datenreihen vorliegen haben, ist es nur logisch, die einzelnen Werte auch geschlossen in einer Datenstruktur abzuspeichern. Dafür bietet Python ein vielseitiges Werkzeug: die Liste. Eingeschlossen in eckige Klammern []
wird Ihnen dieser Kollege regelmäßig dort begegnen, wo es um Sammlungen von Objekten jeglicher Art geht.
Bei den letzten zwei Zeilen hätte Ihr Mathelehrer sicher etwas skeptisch geguckt. Für gewöhnliche Listen werden in Python einige Rechenoperatoren – eben wie +
und *
– für andere Operationen zweckentfremdet. Wenn Sie tatsächlich alle Listenelemente verdoppeln wollen, sieht das mit ganz altmodischem Python-Code so aus:
In dieser Form mit Datenreihen zu rechnen, wäre umständlicher, als Sie sich sicher erhofft hätten. Glücklicherweise sah das die Python-Community genau so und entwickelte eine praktikablere Alternative, die Sie im nächsten Abschnitt kennenlernen.
Wie Sie gerade gesehen haben, sind Listen zum Rechnen mit vielen Zahlen auf einmal nicht gerade das Mittel der Wahl. Hier können Sie das erste Mal auf die starke Community zurückfallen. Das Paket NumPy bietet einen regelrechten Baumarkt an Werkzeugen für numerische Berechnungen in Python, dessen Kern das sogenannte NumPy-Array bildet. Ein Array sieht auf den ersten Blick aus wie eine Liste, sämtliche Rechenoperationen werden aber standardmäßig elementweise ausgeführt. Außerdem sind häufige Operationen intern mit C beschleunigt, sodass Sie problemlos und sehr performant (also schnell) auch große Datenmengen verarbeiten können. In den oben verlinkten Online-Notebooks ist das Paket bereits installiert, sodass Sie es genau wie jedes eingebaute Modul verwenden können.
Auf dem Cover dieses Buches steht ja schließlich »Python für Ingenieure«, also wird es auch langsam Zeit für ein kleines Ingenieursbeispiel. An einem elektrischen Widerstand haben Sie Strom und Spannung gemessen, 10 Messwerte in einem Zeitraum von einer Sekunde. Mit diesem Datensatz wollen wir nachfolgend etwas experimentieren.
Bis hier konnte Ihr Taschenrechner vielleicht noch mithalten, aber am Ende jeder Auswertung steht meistens ein überzeugendes Diagramm. Kein Grund, das Millimeterpapier zu zücken und den Bleistift zu spitzen! Mit dem Paket Matplotlib können Sie in nur wenigen Zeilen Code druckreife Abbildungen jeglicher Art erstellen. Die Zeitverläufe von Strom und Spannung sind als erste dran:
Die entstandenen Verläufe sind in Abbildung 1.2 zu sehen.
Abbildung 1.2: Zeitverlauf von Strom und Spannung.
An die Funktion plot(xx, yy, ...)
werden zwei Arrays übergeben: das erste enthält die x-Koordinaten der darzustellenden Punkte, das zweite die y-Koordinaten. Für den Zeitverlauf müssen wir also zuerst mit numpy.arange(start, stop, step)
ein Array von Abtastzeiten anlegen. Dieses Vorgehen wird Ihnen sehr häufig begegnen, da dieses Beispiel sicher nicht der letzte Zeitverlauf in diesem Buch oder Ihrer Python-Karriere war.
Ziel ist es jetzt herauszufinden, welchen Widerstandswert das vermessene Bauelement besitzt. Dazu böte sich grundsätzlich eine kleine Regressionsanalyse an. Für dieses Einführungsbeispiel reicht aber auch eine Mittelung über die Einzelwiderstandswerte. Mit dem so erhaltenen Wert lässt sich der lineare Zusammenhang U = I · R als schöne Näherungsgerade darstellen:
In Abbildung 1.3 ist das Ergebnis dargestellt.
Abbildung 1.3: Messdaten und Näherungsgerade im U-von-I-Diagramm.
Nichtsdestotrotz: für die hier betrachtete Situation liefert dieser hemdsärmelige Ansatz ohne viel Trara ein ziemlich gutes Ergebnis.
Und damit ist es bereits erledigt! Vor einigen Minuten haben Sie vielleicht noch nie Python gesehen, jetzt berechnen und visualisieren Sie schon eine lineare Approximation eines verrauschten Datensatzes – und das alles in nur wenigen Zeilen gut lesbarem Code. Das fasst die Hauptargumente aus der Einleitung gut zusammen: die leicht lesbare Syntax, kombiniert mit einer hilfreichen Community, die viele nützliche Pakete kostenlos bereitstellt, macht Python zu einem überzeugenden Werkzeug, von dem fast alle profitieren können, die gelegentlich zum Taschenrechner greifen.