Berechnungsverfahren im Maschinenbau - baaserweb.de · Zwingt die aktive Schleife die Ausführung...

50
Berechnungsverfahren im Maschinenbau nicht korrigierte Fassung Sommersemester 2014 — Arbeitsversion 27. April 2014 Bachelorstudiengang Maschinenbau apl. Prof. Dr.–Ing. habil. Herbert Baaser Fachbereich 2 Informatik, Technik und Wirtschaft Numerische Berechnungsmethoden und Lösungsverfahren für gewöhnliche und partielle Differentialgleichungen der Mechanik

Transcript of Berechnungsverfahren im Maschinenbau - baaserweb.de · Zwingt die aktive Schleife die Ausführung...

Berechnungsverfahrenim Maschinenbau

nicht korrigierte Fassung

Sommersemester2014 —Arbeitsversion

27. April 2014

BachelorstudiengangMaschinenbau

apl. Prof.Dr.–Ing. habil. Herbert BaaserFachbereich 2Informatik, Technik und Wirtschaft

Numerische Berechnungsmethodenund Lösungsverfahren fürgewöhnliche und partielle

Differentialgleichungen derMechanik

Vorbemerkung

Dieses Dokument soll die Teilnehmer der Lehrveranstaltung Berechnungsverfahren imMaschinenbau während der Vorlesung begleiten. Zur Bearbeitung der Projekt–Aufgabendient es als kleines Nachschlagewerk.

Dieses Skript existiert bislang nur in dieser Arbeitsversion. Die Richtigkeit der hier darge-stellten Zusammenhänge muss noch überprüft werden. Es wird keinerlei Haftung für Folgenaus der Anwendung der hier dargestellten Verfahren übernommen !

Zur Erstellung dieser Unterlagen hatte ich bisher Hilfe durch:

Matthias Sabel und Jan Käser im WiSe 2009/2010,

Andreas Schäfer im WiSe 2010/2011,

Christian Beaury im Jan. 2011,

Peter Lenz und Robert–Vincent Lichterfeld im WiSe 2013/2014.

Diesen Zuhörern meiner Vorlesungen danke ich ganz besonders für die Mitarbeit und Ihr Interesse.

Bingen–Büdesheim im März 2014

II

Inhaltsverzeichnis

Vorbemerkung II

1 Einleitung und Motivation 11.1 Einstieg in das Programmieren mit MATLAB . . . . . . . . . . . . . . . . . 2

1.1.1 MATLAB–Grundlagen (nach Jan Käser) . . . . . . . . . . . . . . . . . 2Bedienung der Konsole . . . . . . . . . . . . . . . . . . . . . . . . . . 2Vektoren, Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Matlab-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.2 MATLAB–Kurzübersicht . . . . . . . . . . . . . . . . . . . . . . . . . 7Orientierung in der Matrix . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Aspekte der linearen Algebra 122.1 Matrix–Vektor–Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Direkte Lösung durch Gauss–Elimination . . . . . . . . . . . . . . . . . . . 13

2.2.1 Gauss–Algorithmus in Pseudo–Sprache . . . . . . . . . . . . . . . . 15

3 Nullstellensuche 163.1 Regula Falsi (’Sekantenverfahren’) . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.1 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.2 Iterationsabbruch/Konvergenz . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Newton–Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.1 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2 Konvergenzrate des Newton–Verfahrens . . . . . . . . . . . . . . . . 183.2.3 Verallgemeinerung auf mehrere Unbekannte . . . . . . . . . . . . . . 19

4 Numerische Integration 204.1 Newton-Cotes–Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Gauss–Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5 Numerische Differenziation 235.1 Diskretisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 Differenzenquotienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.1 Zentraler Differenzenquotient . . . . . . . . . . . . . . . . . . . . . . 245.2.2 Vorwärts–/Rückwärts–Differenzenquotient . . . . . . . . . . . . . . . 24

6 Gewöhnliche Differentialgleichungen 256.1 Anfangswertproblem (AWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.1.1 Vorderer-Differenzialquotient: . . . . . . . . . . . . . . . . . . . . . . 256.1.2 Hinterer-Differenzialquotient: . . . . . . . . . . . . . . . . . . . . . . 266.1.3 Zentraler Differenzenquotient . . . . . . . . . . . . . . . . . . . . . . 28

III

6.1.4 Richardson–Extrapolation . . . . . . . . . . . . . . . . . . . . . . . 296.2 Anfangswertprobleme (AWP) . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.2.1 explizites Euler–Verfahren . . . . . . . . . . . . . . . . . . . . . . . 306.2.2 implizites Euler–Verfahren . . . . . . . . . . . . . . . . . . . . . . . 306.2.3 Stabilität, Fehlerschätzer, Genauigkeit . . . . . . . . . . . . . . . . . 316.2.4 Runge–Kutta–Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 31

6.3 Randwertprobleme (RWP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.3.1 Finite Differenzen–Verfahren . . . . . . . . . . . . . . . . . . . . . . . 35

7 Einblicke in Optimierungsverfahren 367.1 Regression – Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . 37

7.1.1 Abstandsminimierung— „Fehler–Quadrat–Minimierung“— Least–Square–Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . 37„Normalengleichung“ . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Verwendung des Solver in Excel . . . . . . . . . . . . . . . . . . . 38Verwendung von fminsearch in Matlab — Simplex–Verfahren . . . 38

7.2 Monte–Carlo–Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

8 Systemanalyse 408.1 Eigenwertzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408.2 Modalanalyse am Beispiel eines Biegebalkens . . . . . . . . . . . . . . . . . . 40

Anhang 41

A Glossar/ Stichwortverzeichnis 42

B Scriptfiles 43

Literatur 1 45

Literatur 2 45

IV

1 Einleitung und Motivation

Berechnnungsverfahren stellen in der heutigen Zeit im Ingenieurwesen einen elementarenBestandteil in der Produktentwicklung oder Analyse von Strukturen und Vorgängen dar.

Seit einigen Jahren versuche ich mit dieser Vorlesung die Brücke zwischen numerischerMathematik und der Anwendung der Methode der finiten Elemente (FEM) zu schlagen,indem ich aufzeige, wie Ideen zu einer Modellierung zu stabilen Algorithmen führen (können)und was sich in einer Blackbox eines Software–Systems mit ausgefeilter grafischer Oberflächeverbirgt.

Dabei sollen Fähigkeiten, wie die Umsetzung von Lösungsstrategien und Algorithmen mitFehlerabschätzung und das Erkennung von Vorteilen und Grenzen numerischer Methodengeschult werden.

Viele Grundlagen dazu finden sich in Lehrbüchern wie Ferziger [1981] und spannendamit den weiten Bogen bis hin zu Wriggers [2001] oder Baaser [2010].

1

1.1 Einstieg in das Programmieren mit MATLAB1.1.1 MATLAB–Grundlagen (nach Jan Käser)

Bedienung der Konsole

>> %Kommentar. Alles, was in dieser Zeile steht, wird von Matlab nicht interpretiert.

>> ;das ausgewertete Ergebnis wird nicht angezeigt

>> =Zuweisungsoperator

>> help [Befehl]Hilfe zu einen Befehl

>> whoZeigt die aktuellen Variablen an

>> clear Xlöscht die Variable X

>> clearlöscht alle Variablen

>> clear alllöscht alles: Variablen, Funktionen usw.

>> clclöscht das Eingabe–Fenster

>> save sitzungspeichert alle Variablen in eine Datei mit dem Namen „sitzung“ mit der Endung .mat

>> load sitzunglädt die gespeicherten Variablen der Datei sitzung.mat in den Workspace

>> quitBeendet die Matlabsitzung

Vektoren, Matrizen

>> n=3Eingabe eines Skalars

2

>> X=[1 2 3 4 5]Eingabe eines Zeilenvektors, Werte werden durch Leerzeichen oder Koma getrennt.

>> X=1:5<< x= 1 2 3 4 5Erzeugt denselben Zeilenvektor, von 1 bis 5 mit der Schrittweite 1.

>> X=1:2:10<< x= 1 3 5 7 9Erzeugt einen Zeilenvektor, von 1 bis 10 mit der Schrittweite 2.

>> X=[1 2 3 4 5;6 7 8 9 10]Eingabe einer 2 x 5 Matrix, Zeilen werden durch Semikolon getrennt.

>> X=zeros(3,2)Erzeugt eine Nullmatrix der Größe 3 x 2.

>> X^2Gibt das Quadrat der Matrix X aus.

>> X’Die Transponierte der Matrix X.

>> C+XSumme der Matrizen C und X.

>> C*XProdukt von C und X. Wenn C eine 3x3–Matrix ist, kann X eine 3x1–Matrix (Vektor-multiplikation), eine 3x3 Matrix (Matrixmultiplikation) oder eine 1x1–Matrix (elementweiseMultiplikation) sein

Diese Operationen können auch komponentenweise ausgeführt werden.>> C.*X>> C.^2

A(1,:)Gibt die erste Zeile der Matrix A aus.

A(:,1)Gibt die erste Spalte der Matrix A aus.

Die Werte in einer Matrix sind fortlaufend spaltenweise nummeriert, d.h. bei einer Ma-trix der Größe 3 x 3 gibt der Befehl>> A(2)den Wert aus, der in der ersten Spalte und zweiten Zeile steht.

3

Schleifen

for - Schleife

for i=anfang:inkrement:ende...end

Beispiel:for i=1:0.2:2

2*iend

Ausgabe:2.0 2.4 2.8 3.2 3.6 4

Die Variable i erhöht sich bei jedem Schritt um den Wert des inkrement, hier 0.2, bis derEndwert erreicht wird.

while - Schleife

while (bedingung)Anweisung

end

Führt die Anweisung aus, solange die Bedingungen erfüllt sind.

if - Bedingungen

if (bedingung1)Anweisung1

elseif (bedingung2)Anweisung2

elseAnweisung3

end

Wenn bedingung1 wahr ist wird Anweisung1 ausgeführt, wenn nicht, wird geprüft, ob bedin-gung2 wahr ist. Ist keine Bedingung erfüllt, wird Anweisung3 ausgeführt. Dabei sind elseifund else optional.

4

Bedingungen

(A == B) Überprüft, ob A gleich B(A < B) Überprüft, ob A kleiner B ist(A <= B) Überprüft, ob A kleiner oder gleich B ist(A > B) Überprüft, ob A größer B ist(A >= B) Überprüft, ob A größer gleich B ist(A) ~= B Überprüft, ob A nicht gleich B ist.(A) || (B) Überprüft, ob die Bedingung A oder B erfüllt ist(A) && (B) Überprüft, ob Bedingung A und B erfüllt ist

break

Eine Schleife kann mit dem Befehl break unterbrochen werden. Dieser kann als Anweisungeiner if–Bedingung in die Schleife eingebaut werden.

continue

Zwingt die aktive Schleife die Ausführung des Befehls der nächsten Iteration derselben Schlei-fe zu überlassen.

return

return führt dazu, dass die ganze Funktion stoppt.

Matlab-Dateien

Scriptdatei

Matlab–Anweisungen können in einer Datei gespeichert werden. Diese Datei mit der Endung.m kann im Prompt aufgerufen werden. Alle Anweisungen werden nacheinander aufgerufen,genauso als würde man diese Anweisungen direkt eingeben.

Funktionsdatei

Mit einer Funktionsdatei ist es möglich, eine eigene Funktion zu definieren. Diese kann aucheine vorhandene Matlab-Funktion überlagern. Falls Matlab auf einen Funktionsaufruf f(x)trifft, wird überprüft ob

1. f eine Variable ist2. f eine Funktion im aktuellen Verzeichnis ist3. f eine Funktion im Matlab-Pfad ist

Die erste Zeile der Datei Funktionsname.m muss eine der folgenden Formen haben:

function Funktionsname(input1, input2, ... ,inputn)oder

5

function output1=Funktionsname(input1, input2, ... ,inputn)oderfunction [output1, ... , outputn]=Funktionsname(input1, ... ,inputn)

Beispiel:summe.m

function output=summe(x, y)output=x+y

Aufruf im Prompt:>> summe(3 5)

Ausgabe:<< 8

In einer Funktion definierte Variablen sind lokal, d.h. sie sind nur innerhalb einer Funk-tion gültig.

6

1.1.2 MATLAB–Kurzübersicht

Tabelle 1.1: Auswahl an MATLAB-Befehlen nach [2] und [5]

Grundsätzliches

Aufrufen: matlabBeenden: quitBerechnung unterbrechen: Strg+CWertzuweisung Bsp.: v = 7Bildschirmausgabe unterdrücken: ’;’ am Ende der ZeileKommentare: % folgendes erscheint als KommentarKommando über zwei Zeilen: ’AUSDRUCK’... weiter in neuer Zeile

Rad in Grad

Radiant in Grad umrechnen: angleInDegrees = radtodeg(angleInRadians)Beispiel: InDeg = radtodeg(0.25*pi)Alternativ: InDeg = 45α◦ = 180

π∗ x[rad]

Orientierung in der Matrix

Innerhalb einer Matrix ist das Auswählen eines Elements aij, nach folgenden Regeln möglich:

n Spalten, j läuft →

m Zeilen, i läuft ↓

a11 a12 a13 · · ·

a21 a22 a23 · · ·

a31 a32 a33 · · ·... ... ... . . .

7

Tabelle 1.2: Auswahl an MATLAB-Befehlen nach [2] und [5]

Vergleichende und logische OperatorenVergleichsoperatoren logische Operatoren

< kleiner als & und<= kleiner oder gleich | oder> größer als ~ nicht>= gößer oder gleich== gleich~= ungleich

Arithmetische Operationen:Matrix - Operationen Elementweise - Operationen

+ Addition + Addition− Subtraktion − Subtraktion∗ Multiplikation .∗ Multiplikation/ Division von rechts ./ Division von rechts\ Division von links .\ Division von linksˆ Potenz .ˆ Potenz′ Hermetisch Transponierte .’ Transponierte

Tabelle 1.3: Auswahl an MATLAB-Befehlen nach [2] und [5]

Matrizen

Spezielle Matrizen:

zeros(2, 3) 2 x 3 - Nullmatrix

ones(2, 3) 2 x 3 - Matrix aus Einsen

eye(3) 3 x 3 - Einheitsmatrix

rand(2, 3) 2 x 3 - Gleich verteilte Zufalls-Matrix

randn(2, 3) 2 x 3 - Normal verteilte Zufalls-Matrix

8

Tabelle 1.4: Auswahl an MATLAB-Befehlen nach [2] und [5]

Matrizen

(Vektoren sind 1 x n- oder n x 1-Matrizen)

Eingabe: liefert:

A = [1 2; 3 4]

1 2

3 4

A’ transponiert die Matrix

1 3

2 4

A(1, 2) = 3(1,2) Element belegen

A(1, :) = [1 2] erste Zeile belegen

x = 0:0.1:1 Vektor [0 0.1 0.2...1]

x(2) = 4 zweite Komponente x2 des Vektors x belegen

Zugriff auf Elemente:

A(2, 3) Element (2,3)

x(3) dritte Komponente x3 des Vektors x

x([3 1 4]) liefert [x3 x1 x4]

A(:2) Alle Werte der zweiten Spalte der Matrix A

A(1:2:5,2) Elemente (1,2), (3,2) und (5,2)

diag(A,j) Diagonale der Matrix A, von a1j aus

triu(A,j) oberes Dreieck von der Matrix A ab a1j

tril(A,j) unteres Dreieck der Matrix A ab a1j

Funktionen:

[L, R] = lu(A) LR-Zerlegung A = LR (A ist Ergebnis-Vektor)

R = chol(A) Cholesky-Zerlegung A = RT R

size(A,1) Zeilenanzahl der Matrix A

size(A,2) Spaltenanzahl der Matrix A

inv(A) Inverse der Matrix A =

−2 1

1, 5 0, 5

eig(A) Vektor der Eigenwerte der Matrix A

trace(A) Spur der Matrix A

9

Konstanten und Funkionen sind in MATLAB unter bestimmten Variablennamen abgelegt.Da der Benutzer allen Variablen frei einen Wert zuweisen darf, können auch hinterlegteFunktionen zum Variablennamen überschrieben werden.

Tabelle 1.5: Auswahl an MATLAB-Konstanten und Funktionen nach [5]Funktion BeschreibungTrigonometrie:

sin(x) Sinussinh(x) Sinu-Hyperbolicusasin(x) Arcussinuscos(x) Cosinuscosh(x) Cosinus-Hyperbolicusacos(x) Arcuscosinusacosh(x) Arcoscosinus-Hyperbolicustan(x) Tangenstanh(x) Tangens-Hyperbolicusatan(x) Arcus-Tangenscot(x) Cotangenscoth(x) Cotangens-Hyperbolicusacot(x) Arcus-Cotagens

Exponentiell:

exp(x) Exponentialfunktionlog(x) natürlicher Logarithmuslog10(x) Logarithmus zur Basis zehnlog2(x) Logarithmus zur Basis zweisqrt(x) Wurzel

Komplex:

abs(x) Betragangle(a+bi) Phasen-Winkel einer komplexen Zahl in radcomplex(VARa,VARb) Erstellen eines komplexen AusdrucksBeispielzahl: ai = 3 + 2i durch Eingabe zweier realer Werteconj(ai) Komplex konjugierte Zahl (= 3 - 2i)imag(ai) Wert des imaginären Anteils (= 2)real(ai) Wert des realen Anteils (= 3)

Runden:

fix(x) Runden Richtung Nullfloor(x) Runden Richtung minus unendlichceil(x) Runden Richtung plus unendlichround(x) Auf den nächsten Integer-Wert runden

10

Tabelle 1.6: Auswahl an speziellen MATLAB-Konstanten und Funktionen nach [5]Funktion BeschreibungSpezielle Funktionen:

sing(x) Signumfunktion (erkennt Vorzeichenwechsel)pi π = 3, 14159265...i Imaginäre Einheit (

√−1)

j Wie iInf Unendlich (∞)NaN Not-a-number

11

2 Aspekte der linearen Algebra

In diesem Abschnitt tragen wir zur Vorbereitung der Lösung in den folgenden Kapiteln diewesentlichen Grundlagen der linearen Algebra zusammen, ohne irgendeinen Anspruch aufVollständigkeit. Mit Hinblick auf unsere Ziele in dieser Veranstaltung stellt die numerischeLösung eines Systems von linearen Gleichungen das „Kernstück“ dar.

2.1 Matrix–Vektor–Notation

Behandeln wir Gleichungen mit wenigen Variablen, können wir diese einzeln benennen, z.B.x, y, z. Analog verhält es sich mit Koeffizienten von Gleichung, z.B. a, b, c. Steigt die Anzahlder Gleichungen und damit die Anzahl der Koeffizienten an, ist eine solche Darstellung wenighilfreich. Es bietet sich schon recht früh an, auf eine Indexdarstellung zu wechseln. Ein LGShat dann die Form

a11x1 + a12x2 + a13x3 + . . . = b1 (2.1)a21x1 + a22x2 + a23x3 + . . . = b2

...an1x1 + an2x2 + an3x3 + . . . = bn ,

was in sehr komplexer Weise auch in der Formn∑

j=1aijxj = bi (2.2)

für i = 1, 2, ..., n geschrieben werden kann.Im weiteren ist es noch bequemer, sowohl die Unbekannten x1, ..., xn als auch die Elementeder „rechten Seite“ b1, ..., bn als Spaltenvektoren mit n Komponenten darzustellen:

x =

x1x2...

xn

; b =

b1b2...

bn

. (2.3)

Somit ergibt sich für die Koeffizienten aij in (2.4) die Darstellung in einem 2–dimensionalenFeld (oder Matrix) der Form

A =

ax11 a12 . . . a1n

ax21 a22 . . . a2n... ... . . . ...

axm1 am2 . . . amn

. (2.4)

12

Damit kann (2.2) in noch kompakterer Form als

A · x = b (2.5)

geschrieben werden.Im folgenden beschäftigen wir uns ausschließlich mit der numerischen Lösung von (2.5) undklammern eine Diskussion von geometrischen Interpretationen dazu aus. Ebenso beschäf-tigen wir uns nur mit Systemen, bei denen die Anzahl der Gleichungen der Anzahl derUnbekannten entspricht. Man nennt A dann eine „quadratische Matrix“.

2.2 Direkte Lösung durch Gauss–Elimination

....Ende des formatierten Textes....

Vektorendarstellung:

x =

x1...

xn

; b =

b1...

bn

a =

654

; b =

213

Vektormultiplikation

Bei dieser Multiplikation werden die einzelnen Spalten des transponierten Vektors a T mitden einzelnen Zeilen des Vektors b miteinander multipliziert und abschließend zu einem Wertaufsummiert. Um diese Multiplikation ausführen zu können, müssen die zu multiplizierendenSpalten und Zeilen in gleicher Anzahl vorliegen.

Transponierter-Vektor ∗ Vektor:

a T ∗ b =[6 5 4

]∗

213

= 6 ∗ 2 + 5 ∗ 1 + 4 ∗ 3 = 29

Matrixdarstellung:

A =

1 2 30 3 42 0 −1

13

Matrix mit Vektormultiplikation:

A ∗ a =

1 2 30 3 42 0 −1

∗ 6

54

=

6 ∗ 1 + 5 ∗ 2 + 3 ∗ 46 ∗ 0 + 5 ∗ 3 + 4 ∗ 4

6 ∗ 2 + 5 ∗ 0 + 4 ∗ (−1)

=

28318

.-.-.-.Bis hier neu-formatierter Text.-.-.-.Berechnen sie folgendes Beispiel mit Hilfe der Einheitsmatrix: x1 + 2x2 − x3 = 2

2x1 − x2 + x3 = 1x1 + x2 − 2x3 = 3

⇒ 1 2 −1 2

2 −1 1 11 1 −2 3

Um das Ergebnis zu überprüfen kann man die inverse Matrix mit der Ursprungsmatrixmultiplizieren und erhält die Einheitsmatrix.Seien A die Ursprungsmatrix und A−1 die Ursprungsmatrix, dann erhält man den Einheits-vektor E:

A ∗ A−1 = E (2.6)

Meistens ändert sich nur die rechte Seite, die linke Seite (Systemmatrix)bleibt gleich.Durch Multiplikation Inverse von Systemmatrix mit Ergebnismatrix

14

2.2.1 Gauss–Algorithmus in Pseudo–Sprache

% Vorwärts for i=1:nfor j=i+1:m

for k=i+1:na(j,k)=a(j,k)-a(j,i)*a(i,k)/a(i,i)

endb(j)=b(j)-a(j,i)*b(i)/a(i,j)

endend

3- „for“ Schleifen ∼ n3 ⇒ ist n=2 bedeutet das einen 8x so großen Rechenaufwand

% Rückwärtsx(n)=b(n)/a(n,n)for i=1:n-1

t=b(n-i)for j=1:i

t=t-a(n-i,n-i+j)*x(2-i+j)endx(n-i)=t/a(n-i,n-i)

end

2- „for“ Schleifen ∼ n2

15

3 Nullstellensuche

Die Nullstellensuche beliebig nichtlinearer Funktionen, zählt zu den elementaren Disziplinender numerischen Mathematik, da dies eng mit Methoden zur Lösung nichtlinearer Gleichun-gen und Gleichungssysteme verbunden ist.

Wir betrachten zunächst zwei Beispiele von eindimensionalen Lösungsmethoden, bevor wirdies auf Systeme mit n Unbekannten erweitern.

3.1 Regula Falsi (’Sekantenverfahren’)

Wir suchen von der gegebenen und stetig differenzierbaren Funktion f(x) eine Nullstelle x∗,so dass f(x∗) = 0 gilt. Wir nehmen an, dass wir eine Abschätzung für den Wert x∗ haben und

f(x)

x

sm

x∗ x(1)x(0)

Abbildung 3.1: Grafische Veranschaulichung des Sekantenverfahrens

wählen die Startwerte x(0) und x(1) so, dass f(x(0))f(x(1)) < 0 gilt (d.h. entgegengesetztesVorzeichen!)

16

3.1.1 Iteration

Berechnung von

x(m+1) = x(m) − f(x(m))Sm

fur m = 1, 2, 3, ... (3.1)

mit

sm = f(x(m))− f(x(m−1))x(m) − x(m−1) (3.2)

x(m+1) = x(m) − f(x(m))Sm (3.3)

für m = 1, 2, 3...; mit

sm = f(x(m))− f(x(m−1))x(m) − x(m−1) (3.4)

.-.-.-.Bis hier neu-formatierter Text.-.-.-.

3.1.2 Iterationsabbruch/Konvergenz

Beachte

i) r(m)rel = |f(x(m))

f(x(0)) | für m = 1, 2, 3...

oder

ii) r(m)∆ = |f(x(m))− f(x(m−1))| für m = 1, 2, 3...

mit Abburch bei r(m) < TOL (mit z.B. TOL = 10−10)

3.2 Newton–Verfahren

3.2.1 Iteration

Schon anschaulich (siehe Grafik 3.1) sollte sich eine deutliche Verbesserung unseres Verfah-rens ergeben, wenn wir sm = F ′(x(m)) wählen und in der Iteration verwenden:

x(m+1) = x(m) − f(x(m))f ′(x(m))

(3.5)

für m=1,2,3...

Dies wird als Newton-Iteration bezeichnet.

17

Startwert: Wir betrachten x(m+1) − x(m) = ∆x = − f(x(m))f ′(x(m))

Offensichtlich erhalten wir Konvergenz für ∆x′ < 0.

Es gilt:

∆x′ = −f′2 − ff

′′

f ′2 = ff ′′

f ′2 − 1 < 0 (3.6)

Þ∣∣∣∣∣ff

′′

f ′2

∣∣∣∣∣ < 1 (3.7)

(3.8)

Wir wählen den Startwert x(0) so, dass

∣∣∣f(x(0))f ′′(x(0))∣∣∣ <

∣∣∣f ′(x(0))2∣∣∣ (3.9)

gilt.

3.2.2 Konvergenzrate des Newton–Verfahrens

Betrachten wir beim Newton Verfahren z.B. die Beziehung

r(m+1)rel < cr

(m)rel

p(3.10)

mit c > 0

so stellen wir hier fest, dass p = 2 gilt.

Dieses Verhalten nennen wir quadratische Konvergenz des Newton Verfahrens. (Dis-kussion: Qualität der Tangente)

18

3.2.3 Verallgemeinerung auf mehrere Unbekannte

Wir wollen das n-dimensionale, nichtlineare System F (x) = 0 lösen.Dazu bilden wir die „Funktionalmatrix“

F′ (x) =

δF1δx1

· · · δF1δxn... . . . ...

δFn

δx1· · · δFn

δxn

wählen wir ein x(0) als Startwert und iterieren:

x(m+1) = x(m) − F′−1(x(m)) · F(x(m)) (3.11)

Anmerkung: F′−1 ist in jedem Iterationsschritt neu zu berechnen!

19

4 Numerische Integration

“Ableiten ist Pflicht - Integrieren die Kür “

Bei Ingenieuranwendungen treten oft Integrale der Formen:l∫

0f(x)dx

a∫0

b∫0

f(x, y)dx dya∫0

b∫0

c∫0

f(x, y, z)dx dy dz

als Längen-, Flächen- und Volumen- integrale auf. Diese sind i.d.R. nicht mehr analytischlösbar, wodurch eine numerische Integration notwendig wird. Ohne Beschränkung der Allge-meinheit wollen wir hier ausschließlich Integrale der Form

l∫0(x)dx betrachten. Ganz allgemein

können wir dieses Integral mit:

x = x(ξ) = 12

(ξ + 1) ∗ l (4.1)

transformieren, in die Form

l∫−1

f(x(ξ))dx

dξdξ =

l∫−1

g(ξ)dξ (4.2)

sodaß wir nun

l∫−1

g(ξ)dξ (4.3)

betrachten können.

Hier fehlt noch eine Grafik

Allgemeinl∫

−1g(ξ)dξ ≈

n∑p=1

g(ξp)Wp

Ziel:„Integral

l∫−1

g(ξ)dξ soll möglichst wenig Funktionsauswertungen g(ξ) an diskreten Stellen

(ξ)p und dazugehörigen Gewichten Wp berechnet werden.“Beispiele für mumerische Integrationsregeln für Polynome:

f(x) =m∑

i=0aix

i = a0 + a1x + a2x2 + a3x

3 + · · ·+ amxm (4.4)

20

4.1 Newton-Cotes–Formeln

n m ξp Wp

2 1 ± 1 1 „Trapezregel“

3 2 0 43 „Simpsonregel“

3 2 ± 13

5 3 0 1245

5 3 ±12

3245

5 3 ±1 745

!exakt für m!

4.2 Gauss–Quadratur

n m ξp Wp

1 0 2

2 ± 1√3 1 bis Polynom 3’ter Ordnung exakt

3 0 89

3 ±√

35

59

!exakt für Polynome Grad 2n− 1!

21

4.3 Beispiele

f(x) = 3x3 + 2x2 + x + 4+1∫−1

fdx = 283

Lösung nach Newton-Cotes:

n = 3 ⇒ 4 ∗ 43︸ ︷︷ ︸ +(−3 + 2− 1 + 4) ∗ 1

3︸ ︷︷ ︸ + (3 + 2 + 1 + 4) ∗ 13︸ ︷︷ ︸ = 28

3

163 +2

3 +103 = 28

3

Lösung nach GAUSS:

n = 1⇒ ξp = 0⇒ f(0) = 3 ∗ 03 + 2 ∗ 02 + 0 + 4 = 8

n = 2⇒[3 ∗

(− 1√

3

)3+ 2 ∗

(− 1√

3

)2+

(− 1√

3

)+ 4

]+

[3 ∗

(1√3

)3+ 2 ∗

(1√3

)2+

(− 1√

3

)+ 4

]= −

√3

3 + 23 −

√3

3 + 4 +√

33 + 2

3 +√

33 + 4 = 28

3

22

5 Numerische Differenziation

5.1 Diskretisierung

Wir möchten die Ableitung f ′ einer gegebenen & glatten Funktion f(x) durch auswertendieser Funktion an diskreten Punkten x, x± h, x± 2h . . . bestimmen.

f(x)

f’(x)

xx x+hx-h

f(x)

f(x+h)

Abbildung 5.1: Schrittverfahren

23

5.2 Differenzenquotienten

Wir starten dazu mit der Taylor-Reihe von f um x:

f(x± h) = f(x)± h ∗ f ′(x) + h2

2∗ f ′′(x)± h3

3f ′′′(x) . . . (5.1)

Daraus versuchen wir z.B. mit Funktionsauswertungen f(x− h), f(x), f(x + h) . . . zu Ap-proximationen für die Ableitung f ′(x) durch Linearkombinationen zu entwickeln.

af(x− h) + bf(x) + cf(x) = (a + b + c)f(x) + (c− a)hf ′(x) +

+ (c + a)12

h2f ′′(x) +

+ (c− a)16

h3f ′′′(x) + HOT (5.2)

Daraus fordern wir:

a + b + c = 0c− a = 1

h

c + a = 0

Gleichungssystem, 3 Gleichungen 3 Unbekannte

⇒ c = −a = 12h

, b = 0

5.2.1 Zentraler Differenzenquotient1

2h[f(x + h)− f(x− h)] = f ′(x) + 1

6h2f ′′′(x) + HOT ) (5.3)

Diese Näherung wird als sog. „zentraler Differenzenquotient“ bezeichnet. Wir stellen fest,dass sie „von 2’ter Ordnung“ ist, weil die nächst folgenden Terme höherer Ordnung mitAbleitung von f zumindest mit h2 laufen.

5.2.2 Vorwärts–/Rückwärts–Differenzenquotient

Auf analoge Art und Weise können wir auch den „Vorwärtsdifferenzenquotient“

1h

[f(x + h)− f(x)] = f ′(x) + h

2f ′′(x) + . . . (5.4)

und den „Rückwärtsdifferenzenquotient“

1h

[f(x)− f(x− h)] = f ′(x)− h

2f ′′(x) . . . (5.5)

erhalten und stellen fest, dass beide Näherungen im Gegensatz zum zentralen Differenzen-quotient nur von „1. Ordnung“ genauer sind.

24

6 Gewöhnliche Differentialgleichungen

Beispiel: Wanderer auf (Rochus-)Berg im Nebel.y(x) ← Weg auf den Rochus-Berg bei Nebel durch fortschreiten mit der Schrittweite h. Bei zu großerSchrittweite besteht die Gefahr die Funktion (den Weg) zu verlassen.Auflösung der Funktion hängt von der Schrittweite h ab.

6.1 Anfangswertproblem (AWP)

Wir möchten die Differenzialgleichung DGL der Form

y′(x) = dy

dx= F [f(x, y)] (6.1)

mit gegebenem Anfangswert y(x) = y0 an x = x0 numerisch lösen. Unser erstes Ziel ist alsodie Bestimmung eines y1 = y(x + h) = y(x1) aus den gegebenen Größen. Haben wir dieses,können wir y1 als neuen Startwert zur Bestimmung von y2 verwenden und dieses wiederumfür y3 usw.Wir bestimmen und also eine Näherungslösung für y an diskreten Punkten x0, x1, x2, · · · zuy0, y1, y2, · · ·

Einschub: Kopien „DGL 2 ..

4“ aus SoSe ’03

Nun verwenden wir den vorderen und hinteren Differenzialquotient (VDQ/HDQ) zur Lösungeiner DGL der allgemeinen Form f ′(x) = F (f(x)).Es ergibt sich jeweils:

6.1.1 Vorderer-Differenzialquotient:

f(x + ∆x)− f(x)∆x

= F (f(x))

↪→ f(x + ∆x) = f(x) + ∆x ∗ F (f(x)) (6.2)

25

6.1.2 Hinterer-Differenzialquotient:

f(x)− f(x−∆x)∆

= F (f(x))

↪→ f(x) = f(x−∆x) + ∆x ∗ F (f(x)) (6.3)

: bekannt

: gedacht

⇒ Formel (6.2) stellt sich als explizites Verfahren („EULER vorwärts“) dar,während (6.3) das Schema eines implizieten Lösungsverfahrens („EULER rückwärts“) ist.Hauptmerkmal eines solchen Verfahrens ist unter anderem die Tatsache, dass dafür ein Glei-chungssystem gelöst werden muss!

Als Beispiel betrachten wir die Steigung eines Faden-Pendels mit den Anfangsbedingungen:φ(t0) = φ0 und φ(t0) = 0

l

l

m

Abbildung 6.1: MathematischesPendel

b

mg

m

A

b

l

Abbildung 6.2: math.-mech. Ersatzmodell

und integrieren die beschreibende Differenzialgleichung mit dem dargestellten Expliziten-und Impliziten-Verfahren.

1. Herleitung der Differenzialgleichung

l Momentensatz um A:

Θφ = −m ∗ g ∗ l ∗ sin(φ)↪→ 0 = φ + g

l∗ sin(φ) (6.4)

l Entdimensionierung: mit ω :=√

gl; [ω] = 1

s

l Linearisierung: sin(φ) ≈ φ− φ3

3! + φ5

5! − · · ·+ · · ·

für φ << 1 : sin(φ) ≈ φ

→ φ + ω2 ∗ φ = 0 (6.5)

„klassische Schwingungs-DGL“

26

2. Lösen der Pendel-DGL durch Substitution / Transformation:

Die Gleichung (6.4) des mechanischen Modells kann in die nachfolgenden Ausdrücke über-führt werden.

Z1(t) = φ(t) Z1(t) = Z2(t)Z2(t) = φ(t) Z2(t) = φ(t) = −g

l∗ sin(φ)

Ü explizite Lösung: Zi+11 = Zi

1 + ∆t ∗ Z2(ti)Zi+1

2 = Zi2 + ∆t ∗

(−g

l∗ sin [Z1(t)i]

) (6.6)

Ü implizite Lösung:Achtung: i beziehungsweise ∆x „nach vorne“ geschoben!Z

(i+1)1 = Zi

1 + ∆t ∗ Z2(t(i+1))Z

(i+1)2 = Zi

2 + ∆t ∗(−g

l∗ sin

[Z1(t(i+1))

]) (6.7)

l jeweils mit der „letzten Iteration“ (NEWTON-Verfahren)g1 := Z(i+1)1 − Z

(1)1 −∆t ∗ Z

(i+1)2 = 0

g2 := Z(i+1)2 − Zi

2 + ∆t ∗ gl∗ sin

[Z

(i+1)1

]= 0

(6.8)

Die „lokale Iteration“ kann in folgendem Gleichungs-Vektor dargestellt werden.

[x −φ −h ∗ y

y −φ +h ∗(

gl∗ sin (x)

)]=

[00

]

Herleitung über Taylor–ReiheGenauigkeitkommt noch

27

6.1.3 Zentraler Differenzenquotient

28

6.1.4 Richardson–Extrapolation

29

ODE bzw. PDE

6.2 Anfangswertprobleme (AWP)

kommt noch

6.2.1 explizites Euler–Verfahren

kommt noch

6.2.2 implizites Euler–Verfahren

30

6.2.3 Stabilität, Fehlerschätzer, Genauigkeit

kommt noch

6.2.4 Runge–Kutta–Verfahren

kommt noch

31

6.3 Randwertprobleme (RWP)

Die Herangehensweise zur Lösung von Randwertproblemen wollen wir in diesem Abschnittan einem eindimensionalen Beispiel betrachten und verstehen dies auch als eine möglicheAnwendung der Finiten Elemente Methode.

Wir untersuchen einen beidseitig eingespannten Stab mit konstantem Querschnitt A undkonstantem E-Modul E unter einer Streckenlast p(x) entsprechend der Abbildung:

p0+∆p

p0

EA

L

x

Abbildung 6.3: Balken beidseitig eingespannt mit Temperaturlast

Dieses Modellproblem wird beschrieben durch die gewöhnliche Differentialgleichung 2. Ord-nung (6.9) auf dem „Gebiet“ des Stabes und den vorgegebenen Verschiebungen auf dessenRand (6.10):

EAu′′(x) = −p(x) (6.9)u(x = 0) = 0 (6.10)u(x = L) = 0 .

Die Belastung lässt sich zu p(x) = p0 +∆p xL

angeben, womit wir aus (6.6) die exakte Lösungintegrieren können.Skript Schröder, Wise 00/01

u(x) = − ∆p6EAL

x3 − p02EA

x2 + ( p0L2EA

+ ∆pL6EA

)

32

Zur numerischen Lösung dieses Prolems im Rahmen des FDM ist zunächst das Gebiet zudiskretisieren. Wir zerlegen dazu das Gebiet in n teilgebiete mit n+1 Gitterpunkten undgleichem Abstand h

n+1

hx

0 1 2

Abbildung 6.4: Grafische Veranschaulichung FDM - Methode

Zunächst betrachten wir den Fall p(x) = p0 und verwenden zur Approximation der 2. Ablei-tung in (6.6) ein Beziehung, die wir aus (5.1) duch Addition der Näherung für u(x + h) undu(x− h) erhalten:

u(x + h) + u(x− h) = 2u(x) + u′′(x)h2 + 0(h4)⇒ u′′(x) = 1

h2 (u(x + h)− 2u(x) + u(x− h)) + 0(h2) !

Also:

EAh2 [ui+1 − 2ui + ui−1] = −p0

für i=1,2,..,n

mit den diskreten Randbedingungen:

i) u0 = 0ii) un = 0

Nun schreiben wir (6.8) für jeden Gitterpunkt und erhalten:

u0 − 2u1 + u2 = − p0EA

h2

.

.

.

.un−1 − 2un + un+1 = − p0

EAh2

33

Hieraus ergibt sich unter Berücksichtigung der Randbedingungen in (6.11) das lineare Glei-chungssystem

2 −1 0 0 0 . . . 0−1 2 −1 0 0 · · · ...0 −1 2 −1 0 · · · ...

. . .· · · −1· · · 2

·

u1u2u3...

un−1un

= h2p0

EA

111111

(6.11)

bzw. in Matritzendarstellung

A · u = f (6.12)

34

6.3.1 Finite Differenzen–Verfahren

kommt noch

35

7 Einblicke in Optimierungsverfahren

In diesem Kapitel sind einige Aspekte zusammengestellt, die man unter lineare Optimierungohne Nebenbedingungen einordnen könnte. Das Thema Optimierungsverfahren ist wesent-lich komplexer, als es hier dargestellt und behandelt werden könnte. Vielmehr ist es heuteeine eigenständige Wissenschaft (Stichwort operations research). Wir möchten an dieser Stel-le einige Methoden und Vergehensweisen zusammentragen, die im „täglichen Ingenieurleben“sehr hilfreich sein können. Hier ist man beispielsweise regelmäßig mit großen Datenmengenaus Messprotokollen konfrontiert, die man an ein gegebenes Modell näherungsweise oderexakt anpassen möchte. Dabei sind dann die Koeffizienten oder Parameter einer solchen Be-schreibung zu bestimmen. Oder man sieht den (diskreten) Daten- und Punktwolken einenbestimmten Funktionsverlauf, den man durch diese Beschreibung kontinuierlich abzubildenversucht (curve fitting).

Messwerte

Interpolation

Regression

Abbildung 7.1: Interpolation von Messwerten durch eine kubische Funktion – Regressionmithilfe einer Geraden

Wir sprechen von einer Interpolation, wenn die Funktionswerte an gegebenen Stützstellen(in einem bestimmten Intervall) exakt die Messpunkte repräsentieren und damit Modellwertezwischen den Stützstellen berechnet werden können. Zusätzlich könnte man mit einer solchenFunktion auch eine Extrapolation über das ursprüngliche Intervall hinaus wagen. Insbeson-dere dabei wird allerdings auch die Notwendigkeit und Kenntnis einer Fehlerabschätzung fürdas jeweils angewandte Vorgehen wichtig.

Hier wesentlich interessanter scheint allerdings die Regression zu sein, bei der ein Modellbestmöglich an bestimmte Werte angepasst wird. Dabei ist i.d.R. eine Näherung oder Ap-proximation über ein bestimmtes Intervall zu finden – evtl. auch ohne exakte Erfüllung derWerte an bestimmten Stützstellen. Auch hier wäre es möglich, die Daten über die Intervall-grenzen hinaus zu extrapolieren, wobei wiederum die Kenntnis über den möglichen Fehlervon großer Wichtigkeit ist.

Im folgenden soll hier der Versuch unternommen werden, eine mögliche Strukturierungdieser Vorgehensweise vorzustellen.

36

7.1 Regression – Ausgleichsrechnung

Es liegen n Datenpaare (xi, yi) für i = 1, ..., n vor. Wir bezeichnen – wie oben – die xi

als Stützstellen und die jeweils zugehörigen yi als Messwerte. Nun versuchen wir, die Ko-effizienten einer beliebigen, von uns gewählten Funktion f(x) zu bestimmen, sodass dieDaten(paare) (xi, yi) möglichst gut angenähert (approximiert) werden. Zur Vereinfachungnehmen wir die Funktion f(x) als Polynom

f(x) = a0 + a1x + a2x2 + a3x

3 + a4x4 + ... + apxp (7.1)

vom Grad p an. Damit liegt eine kontinuierliche Beschreibung über x vor. Genausogut könntebsp.weise die Funktion f(x) = a sin(bx−c) angenommen werden. Jeweils ist unsere Aufgabe,hierbei die Koeffizienten a0, a1, a2, ... bzw. a, b, c zu bestimmen.

Setzen wir die Stützstellen xi in f(x) ein, liefert uns die Auswertung von f(x) an xi diediskreten Modellwerte ymod

i = f(xi).Definieren wir nun das Fehlermaß

err = (ymod1 − y1︸ ︷︷ ︸

r1

)2 + (ymod2 − y2)2 + (ymod

3 − y3)2 + (ymod4 − y4︸ ︷︷ ︸

r4

)2 + ...

=n∑

i=1(ymod

i − yi︸ ︷︷ ︸ri

)2 (7.2)

aus den einzelnen Abweichungen, Fehlern oder Residuen ri der Modellwerte ymodi von den

Messwerten yi, erhalten wir aus dem Betrag von err eine Aussage über die Qualität der Nähe-rung. Diese Größe hängt nun maßgeblich von den enthaltenen Koeffizienten a0, a1, a2, ... desModells ab. Wäre err = 0 identisch erfüllt, hätten wir eine Lösung gefunden, die zumindestan den gegeben Stützstellen xi die Werte exakt beschreibt (→ Interpolation).

7.1.1 Abstandsminimierung— „Fehler–Quadrat–Minimierung“— Least–Square–Fit

Schon von C.F. Gauss mit 18 Jahren entwickelt !Wir setzen uns zum Ziel, den Fehler in (7.2) zu minimieren

err → min (7.3)

und haben dazu die Koeffizienten a0, a1, ..., ap als Freiwerte. Die Minimierung von (7.2) bzgl.der Koeffizienten aj bedeutet also, dass die partiellen, ersten Ableitungen

∂err

∂aj

=n∑

i=12 (ymod

i − yi︸ ︷︷ ︸ri

) ∂ymodi

∂aj

!= 0 (7.4)

für j = 1, ..., p jeweils verschwinden müssen. Die p Gleichungen in (7.4) werden also nur dannsinnvoll erfüllt, wenn in jedem Term die ri = ymod

i − yi (i = 1, ..., n) verschwinden.

37

Wir erkennen also, dass wir aus (7.4) nun n Gleichungen mit ri = ymodi − yi

!= 0 erhaltenund diese jeweils bzgl. der Koeffizienten a0, a1, ..., ap aus (7.1) umsortieren können:

1 x1 x21 x3

1 x41 · · · xp

11 x2 x2

2 x32 x4

2 · · · xp2

1 x3 x23 x3

3 x43 · · · xp

3......1 xn x2

n x3n x4

n · · · xpn

︸ ︷︷ ︸

M

·

a0a1a2...

ap

=

y1y2y3......

yn

. (7.5)

Dabei bezeichnen wir die so entstandene Matrix aus den bekannten Stützstellen xi mit M.Diese Matrix M[n×(p+1)] besteht demnach aus n Zeilen und sovielen Spalten p + 1, wie esdie Koeffizienten des Polynoms (7.1) vorgeben. Bei „vielen“ Messwerten n haben wir alsomehr Zeilen als Spalten: n > p + 1. Das Gleichungssystem M · a = y in (7.5) ist also i.d.R.überbestimmt.

„Normalengleichung“

Die geometrische Interpretation von (7.5) in der Form M · a− y = r zeigt uns, dass a genaudann das Ausgleichsproblem löst, wenn r = 0 verschwindet — der Vektor r also senkrechtauf dem Bild von M steht ...

Für diesen Fall können wir die Normalenform von (7.5) als

MT ·M · a = MT · y (7.6)

angeben. Dies stellt ein quadratisches System in der Größe p + 1 der Anzahl der zunächstnoch unbekannten Koeffizienten a dar. Allgemein lautet die Lösung dazu

a[(p+1)×1] =[MT ·M

]−1

[(p+1)×(p+1)]·MT

[(p+1)×n] · y[n×1] . (7.7)

Anmerkung 1: Zum besseren Verständnis sind in (7.7) die Matrix– bzw. Vektorgrößen jeweils alsIndex angegeben.Anmerkung 2: Die Matrix MT ·M besitzt i.d.R. eine schlechte Konditionszahl. Aus diesem Grundwendet man zur Lösung von (7.6) spezielle Methoden an und vermeidet damit die Inversion vonMT ·M in (7.7).

Verwendung des Solver in Excel

Verwendung von fminsearch in Matlab — Simplex–Verfahren

7.2 Monte–Carlo–Simulation

38

Abbildung 7.2: EXCEL–Datenblatt

Abbildung 7.3: Steuer– und Auswahlmenü des EXCEL–Solvers

39

8 Systemanalyse

8.1 Eigenwertzerlegung

kommt noch

8.2 Modalanalyse am Beispiel eines Biegebalkens

kommt noch

40

Anhang

41

A Glossar/ Stichwortverzeichnis

Etwas Text der im Anhang steht.

42

B Scriptfiles

43

Funktionsfile init1

Hier durch zwei Varianten erstellt:

1)

1 \ begin { l s t l i s t i n g }func t i on [ x , y ] = i n i t 1 (n)

3 %INIT1 [ x , y ] = INIT (n) d e f i n i e r t zwei% Z u f a l l s z a h l e n v e k t o r e n der Laenge n

5 % Demo−F i l e f u e r Matlab−Kursrand ( ’ s t a t e ’ , 0 ) ;

7 x = rand (n , 1 ) ;y = rand (n , 1 ) ;

9 end\ end{ l s t l i s t i n g }

2)

\ begin { f i l e c o n t e n t s }{ i n i t 1 .m}2 func t i on [ x , y ] = i n i t 1 (n)

%INIT1 [ x , y ] = INIT (n) d e f i n i e r t zwei4 % Z u f a l l s z a h l e n v e k t o r en der Laenge n

% Demo−F i l e f u e r Matlab−Kurs6 rand ( ’ s t a t e ’ , 0 ) ;

x = rand (n , 1 ) ;8 y = rand (n , 1 ) ;

end10

\ end{ f i l e c o n t e n t s }

Dieses filecontents muss vor \begin{document} erstellt werden.Das Einfügen im Text erfolgt nach \begin{document} über folgenden Eintrag.

1 \ l s t i n p u t l i s t i n g [ b r e a k l i n e s=true ] { i n i t 1 .m}

Hier das Ergebnis:

1 function [x,y] = init1(n)

%INIT1 [x,y] = INIT(n) definiert zwei

3 % Zufallszahlenvektoren der Laenge n

% Demo -File fuer Matlab -Kurs

5 rand(’state ’ ,0);

x = rand(n ,1);

7 y = rand(n ,1);

end

Wird in MATLAB der Befehl help init1 eingetippt, werden die im File abgespeichertenKommentarzeilen bis zur ersten Nichtkommentarzeile auf den Bildschirm geschrieben.

>> help init1

INIT1 [x,y] = INIT(n) definiert zwei

Zufallszahlenvektoren der Laenge n

Abbildung B1: Script-Beispiel nach [4]

44

Literaturverzeichnis

Baaser, H. (2010). Development and Application of the Finite Element Method based onMatLab. Springer.

Ferziger, J.H. (1981). Numerical Methodes for Engineering Applications. Wiley & Sons.Wriggers, P. (2001). Nichtlineare Finite–Element–Methoden. Springer.

45

Literaturverzeichnis

[1] Herbert Baaser. Sommersemester 2013FH-Bingen, Berechnungsverfahren im Maschinenbauurl: http://baaserweb.de/FHBingen/SoSe13/index.htm(besucht am 2013-04-06)

[2] Autor unbekannt. Matlab - KurzübersichtNur das Wichtigste an Beispielen dargestellturl:http://www.rz.rwth-aachen.de/global/show_document.asp?id=aaaaaaaaaabqkkx(besucht am 2013-12-15)

[3] Herbert Wittel u.a. Roloff/Matek MaschinenelementeNormung, Berechnung, Gestaltung19. Aufl. Wiesbaden: Vieweg+Teubner, 2009

[4] Peter Arbenz. Einführung in MATLABComputer Science Department, ETH Zürich, Einführung in MATLAB01

url: http://people.inf.ethz.ch/arbenz/MatlabKurs/node57.html(besucht am 2014-03-08)

[5] Peter Arbenz. Einführung in MATLABComputer Science Department, ETH Zürich, Einführung in MATLAB1

url: http://people.inf.ethz.ch/arbenz/MatlabKurs/matlabintro.pdf(besucht am 2014-03-08)

46