MAPLE - Grundlagen 3
Gewöhnliche DifferentialgleichungenMessdatenauswertungStatistik, Interpolation
MAPLE-Grundlagen 3Ivo Havlík, TCI 1
Ivo Havlík
Leibniz Universität Hannover
Institut für Technische Chemie
Callinstr. 5
30167 Hannover
Germany
Maple-Grundlagen 1 - Rekapitulation
• Elementare Rechenoperationen– evalf()
• Umformen von Ausdrücken– subs(), simplify(), expand(), factor(), assume()
• Gleichungen, Gleichungssysteme
2
• Gleichungen, Gleichungssysteme– solve(), fsolve(), lhs(), rhs(), assign()
• Elementare Funktionen– sum(), mul(), limit(), Pi, sqrt(), sin(), ...
• Funktionen und Ausdrücke– apply(), unapply()
Ivo Havlík, TCI MAPLE-Grundlagen 3
Maple-Grundlagen 2 - Rekapitulation
• Mengen und Listen (sets, lists)• Graphische Darstellung in 2D und 3D– plot(), plot3d(), display()
• Animation– animate(), animate3d(), display()
3
– animate(), animate3d(), display()
• Differenzieren von Funktionen– diff(), D(), Diff()
• Integration von Funktionen– int(), Int(), value()
Ivo Havlík, TCI MAPLE-Grundlagen 3
Maple-Grundlagen 3 - Inhalt
• gewöhnliche Differentialgleichungen
• Messdatenauswertung
• Interpolation
4
• Interpolation
• Statistik
Ivo Havlík, TCI MAPLE-Grundlagen 3
Differentialgleichungen
• Differentialgleichung (DGL, ODE)– eine Gleichung, in der neben der gesuchten Funktion
(z.B. y) auch deren Ableitungen nach den unabhängigen Variablen (z.B. t, x1, x2, ...) auftreten
• Die zeitliche Entwicklung von chemischen oder physikalischen Systemen wird häufig über DG
5Ivo Havlík, TCI MAPLE-Grundlagen 3
200 )(
2
1ttgsstg
dt
ds−⋅+=→⋅=
)(0
0)()()( ttk
ectctckdt
tdc −⋅−⋅=→⋅−=
physikalischen Systemen wird häufig über DG beschrieben (Änderungsgeschwindigkeit):– freier Fall:
– chemische Reaktion: (1. Ordnung)
Gewöhnliche Differentialgleichungen
• Terminologie-Beispiel: radioaktiver Zerfall– Menge einer radioaktiven Substanz u(t), die
Änderung durch Zerfall ∆u zur Zeit t ist proportional zu u(t) und zur zeitlichen Änderung ∆t:� ∆u = -k*u(t)*∆t, oder ∆u/∆t = -k*u(t) -> infinitesimal:
0),(')(
>⋅−== ttukutdu
6
� ist eine gewöhnliche lineare Differentialgleichung erster Ordnung
� gewöhnlich: keine partiellen Ableitungen; linear: die rechte Seite ist eine lineare Funktion in u; erster Ordnung: nur die erste Ableitung (und keine höheren Ableitungen)
� zur Zeit t0 die Menge u0 vorhanden: Anfangsbedingung
Ivo Havlík, TCI MAPLE-Grundlagen
0),(')(
>⋅−== ttukudt
tdu
Gewöhnliche Differentialgleichungen
• grundlegende Begriffe– DGL: es treten y und deren Ableitungen auf– y : die gesuchte Funktion– gewöhnliche DGL: y = f(t) - Funktion einer Variablen– partielle DGL: y = f(t,x1,x2,...)
7
partielle DGL: y = f(t,x1,x2,...)– Ordnung einer DGL: höchste auftretende Ableitung
der gesuchten Funktion yy'' - y' = sin(t) : DGL 2-ter Ordnung, inhomogen
– Grad einer DGL: höchste auftretende Potenzy2*y''+2*y = e-x : DGL 3. Grades
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche Differentialgleichungen
• Grundlegende Begriffe– homogene/inhomogene DGL: b(t) - Störglied
� b(t) = 0: homogen y''+y*t*sin(t) =0� b(t) ≠ 0: inhomogen y''+y*t*sin(t) = 3*cos(t)
– lineare/nichtlineare DGL: bezieht sich auf y(t)– lineare: DGL, wo y einschließlich deren Ableitungen
8
– lineare: DGL, wo y einschließlich deren Ableitungen nur in der 1. Potenz auftritt, und enthält keine nichtlinearen Funktionen von y. Daher: vom Grad 1
– an(t)*y(n)+...+a0(t)*y = b(t) : linear, n-ter Ordnung� y''+y*t*sin(t) = 3*cos(t) : linear, 2-ter Ordnung, inhomogen� y'' + y*sin(y) = 0 : nichtlinear, 2-ter Ordnung, homogen� y'' + y2 = sin(t): nichtlinear, 2-ter Ordnung, inhomogen
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche Differentialgleichungen
• Grundlegende Begriffe– DGL in expliziter Form: aufgelöst nach der höchsten
y-Ableitung. Andere DGL sind in impliziter Form� y' = a*y + b*sin(t) explizit� y''*y + sin(y) = e-t implizit, Umwandlung möglich� y''2 + sin(y'') + 3*y' = 0 implizit, Umwandlung nicht möglich
9
� y''2 + sin(y'') + 3*y' = 0 implizit, Umwandlung nicht möglich
– Autonome DGL: keine explizite Abhängigkeit von t� y' = -k*y Anfangsbedingung: y(t=0) = y0
– Anfangswerte einer DGL: Werte für die gesuchte Funktion und ihre Ableitungen für einen bestimmten Wert der unabhängigen Variablen (oft für Null)� y = 3 für t = 0
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche Differentialgleichungen
• Grundlegende Begriffe– Randwerte einer DGL: Funktions- oder
Ableitungswerte für mehrere Werte der unabhängigen Variablen
– Koeffizienten einer DGL: Faktoren, mit denen die einzelnen y-Ableitungen (inklusive der nullten Ableitung) multipliziert werden.
10
einzelnen y-Ableitungen (inklusive der nullten Ableitung) multipliziert werden.
– "DGL mit konstanten Koeffizienten": Koeffizienten sind konstante Zahlen� 2*y'' + 5*y' + 2*y = t, y(0)=1, y'(1)=2
– Koeffizienten können generell Funktionen der unabhängigen Variablen oder einer anderen y-Ableitung sein
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche Differentialgleichungen
• Lösungen von DGL - Begriffe– allgemeine Lösung einer DGL n-ter Ordnung enthält
n freie Konstanten (Integrationskonstanten), es ist eine Funktionsschar
– spezielle Lösung einer DGL: durch Berücksichtigung der Anfangs- und Randbedingungen werden die
11
der Anfangs- und Randbedingungen werden die Werte der Konstanten bestimmt, man erhält eineLösung
– partikulare Lösung einer DGL ist eine beliebige Funktion ohne freie Konstanten, die eine inhomogene DGL löst
Ivo Havlík, TCI MAPLE-Grundlagen
• klassische Lösungsmethoden: typabhängig– Variablentrennung/Transformation und Integration– bekannte Lösungen für Spezialfälle (Bernoulli,
Riccati, ...)– und viele andere, geeignet für einzelne DGL-Typen
Maple: enthält sowohl die Lösungsmethoden als auch
Gewöhnliche Differentialgleichungen
– Maple: enthält sowohl die Lösungsmethoden als auch eine breite Sammlung der Speziallösungen� sowohl analytische als auch numerische Lösungsmethoden
– der häufigste Fall in der Chemie/Biotechnologie� gewöhnliche DGL 1. Ordnung mit konstanten Koeffizienten,
autonom� Entwicklung einer Variablen mit der Zeit, y = f(t)
12Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche Differentialgleichungen
• Autonome Differentialgleichung
• aus der Taylor-Entwicklung
– f(y) ≈ f(y ) + f'(y )*(y - y ) = A + B*Y, y(t=0) = y
0)0(),()(
ytyyfdt
tdy===
13
– f(y) ≈ f(yE) + f'(yE)*(y - yE) = A + B*Y, y(t=0) = y0
DGL analytische Lösung
– A, B: Konstanten
Ivo Havlík, TCI MAPLE-Grundlagen
)()()0(,)(
00B
Aye
B
AtyytyyBA
dt
tdy Bt++−=→==⋅+=
Gewöhnliche DGL - Lösen mit Maple
• DGL: c'(t) = -k*c(t), c(t=0) = 10– gewöhnliche DGL erster Ordnung mit konst.Koeff.– 1. Ordnung -> eine Anfangsbedingung nötig– chemische Reaktion 1. Ordnung - Abbau, Zerfall
• Analytisches Lösen
14
• Analytisches Lösen– dsolve(DG, y(x)) und dsolve({DG, ICS}, y(x))
� DG: Differentialgleichung dc/dt = -k*c� ICS: Anfangsbedingungen c(0) = c0� y(x): die gesuchte Funktion� >DG:=diff(c(t),t) = - k*c(t); ICS:=c(0)=c0;� >dsolve({DG, ICS},c(t)); -> c(t) = c0*e-kt
� >assign(fds,rhs(%)); plot(subs({c0=10,k=1},fds),t=1..10);
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche DGL - Lösen mit Maple
• Analytisches Lösen– Lösung ohne Anfangsbedingungen
� liefert die gesuchte Funktion mit einem freien Parameter� >dsolve(DG, c(t)); -> c(t) = _C1*e-kt
• Numerisches Lösen: wenn Analytik versagt
15
• Numerisches Lösen: wenn Analytik versagt– F:=dsolve({DG,ICS}, y(x), numeric)– Ergebnis: eine Prozedur, die ein Paar [y(t),t] zum
vorgegebenen t liefert: F(3) -> [t=3, c(t)=4.8]� >c0:=8:k:=0.5:F:=dsolve({DG,ICS}, c(t), numeric);� >with(plots): odeplot(F, [t,c(t)], 0..10, color=blue)
– Wertetabelle erzeugen zur Weiterverwendung� >for i from 1 to 10 do xy[i]:=F(i); end do;
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche DGL-Systeme
• DGL-System 1. Ordnungmit Anfangsbedingungenyn(t=0) = yn,0 ...
• Lösen mit dsolve() wie bei einer DGL
))(),...,(()(
....
))(),...,(()(
11
111
tytyftydt
d
tytyftydt
d
nn
n
=
=
16
• Lösen mit dsolve() wie bei einer DGL– analytisch und numerisch– ohne Anfangsbedingungen: Lösung mit Parametern
• DGL-Systeme mit mehr als 3 Gleichungen besitzen meistens keine analytische Lösung– numerische Lösung bei DGL-Systemen bevorzugt
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche DGL-Systeme
• Numerische Lösung - Vergleich mit Excel– die numerische Lösung in Maple ist übersichtlicher– Lösungsmethoden sind in Maple schon enthalten
• Folgereaktion im Batch-Reaktor (isotherm,
17
• Folgereaktion im Batch-Reaktor (isotherm, ideal durchmischt)– A -> B -> C; cA, cB, cD sind Funktionen der Zeit– cA(t=0) = cA0, cB(t=0) = 0, cD(t=0) = 0– cA' = -k1*cA
– cB' = +k1*cA - k2*cB
– cD' = +k2*cB
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche DGL-Systeme
• DGL-System, Anfangsbedingungen; analytisch� >DGLS:=diff(cA(t),t)=-k1*cA(t),diff(cB(t),t)=k1*cA(t) -
k2*cB(t),diff(cD(t),t)=k2*cB(t);� >IC:=cA(0)=cA0,cB(0)=0,cD(0)=0;� >L:=dsolve([DGLS,IC], [cA(t),cB(t),cD(t)]);� >assign(L);
18
>assign(L);� >cA(t); -> cA0*e-k1*t (Ausdruck)� Maximum von cB(t) berechnen:� >Abl:=diff(cB(t),t);� >t_cBmax:=solve(Abl=0,t);
-> ln(k1/k2)/(k1-k2)� Wert bei k1=k2 ?� >limit(t_cBmax,k1=k2); -> 1/k2
Ivo Havlík, TCI MAPLE-Grundlagen
Gewöhnliche DGL-Systeme
• Numerische Lösung– DGLS, IC wie bei der analytischen Lösung
� >k1:=0.5;k2:=1;cA0:=1;� >NL:=dsolve([DGLS,IC], [cA(t),cB(t),cD(t)],numeric);� >with(plots):� >odeplot(NL,[[t,cA(t)],[t,cB(t)],[t,cD(t)]], 0..6,
19
� >odeplot(NL,[[t,cA(t)],[t,cB(t)],[t,cD(t)]], 0..6, color=[red,blue,green], thickness=2);
� NL(3) liefert die WertecA, cB und cD für t=3als Liste
Ivo Havlík, TCI MAPLE-Grundlagen
DGL-Systeme interaktiv lösen
• DE Solver, interaktive Eingabe/Maus– DGL-System oder Einzel-DGL definieren
� DG:=diff(c(t),t) = - k*c(t);
– rechter Mausclick auf der Maple-Ausgabe
20
– und der Menü "Solve DE interactively" folgen� die Gleichung lässt sich editieren� Anfangs- und Randbedingungen können angegeben werden� Parameterwerte können angegeben werden� symbolisches oder numerisches Lösen, Methodenauswahl� Informationen über DGL-Typ und Lösungswege (Classify)
Ivo Havlík, TCI MAPLE-Grundlagen
DGL n-ter Ordnung, partielle DGL
• gewöhnliche DGL n-ter Ordnung– dsolve(DG, y(x)) - ähnlich wie 1. Ordnung– analytisches und numerisches Lösen– interaktiver DE Solver
21
• partielle DGL– zeitbasierte pDGL n-ter Ordnung– Befehl pdsolve(pDG, u(x,t),options)– analytisches und numerisches Lösen
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung
• Warum Maple verwenden– integrierte Umgebung zum Einlesen, Auswerten,
Modellieren und Darstellen– packages Statistics, CurveFitting
• Einlesen und Darstellen von Messdaten
22
Einlesen und Darstellen von Messdaten• Interpolation– Polynom, Splines durch die Messwerte legen– Modellanpassung (best fit), Datenglättung
• Statistische Datenauswertung– Mittelwert, Standardabweichung,
Korrelationskoeffizient etc.
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung
• packages Statistics, CurveFitting– ?Statistics, ?CurveFitting - Help pages– Wahrscheinlichkeitsverteilungen (Bernoulli bis
Weibull)– deskriptive Statistik (Abweichung, Mittelwerte..)
Wahrscheinlichkeitsrechnung
23
– Wahrscheinlichkeitsrechnung– Visualisierung (charts, plots)– Regressionsanalyse: Modell/Funktionsanpassung– Datenglättung: moving average, Exponentialglättung– Hypothesenüberprüfung: t-Test, ChiSquare-Test ...– Selbstprogrammierung, falls etwas fehlt
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Einlesen
• Einlesen und Darstellen von Daten– in Pfadangaben: 2x backslash "\\" oder 1x slash "/"
� >MD:=readdata("D:/Temp/Qwerte.dat",float,2);� >MD:=readdata("D:\\Temp\\Qwerte.dat",float,2);� qualif. Dateiname, Format, Spalten
– n:=nops(MD) : Anzahl der Wertepaare
24
– n:=nops(MD) : Anzahl der Wertepaare– Umwandlung in Einzellisten, wenn nötig
� >xd:=[seq(MD[i][1],i=1..nops(MD))];� >yd:=[seq(MD[i][2],i=1..nops(MD))];
– Darstellung der Daten� >plot([MD,MD], style=[point,line], color=[blue,red]);
– Datenausgabe: writedata(FileName, MD, float)
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Interpolieren
• Polynome oder Splines (= Teilpolynome, glatt)– Anzahl der Datenpunkte: n– with(CurveFitting)– PolynomialInterpolation(DataList,t)
� liefert ein Polynom vom Grad (n-1) durch alle Punkte
Spline(DataList,t)
25
– Spline(DataList,t)� liefert ein Spline vom Grad 3 (default) durch alle Punkte� höhere Grade sind generell nicht besser
– Interpolation (Daten in MD, vorherige Folie)� >x:=5.4; y:=Spline(MD,x);
oder� >g:=Spline(MD,t): f:=unapply(g,t): x:=5.4; y:=f(x);
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Datenglättung
• Datenglättung durch Modellanpassung– Die Modellfunktion läuft nicht direkt durch die
Messpunkte, sondern nähert sich an– Minimierung der Abstände zu den Messpunkten
durch Parameteranpassung– lineares Modell: y := a + b* x
26
– lineares Modell: y := a + b* x– nichtlineare Modelle
� Polynom: y = a0 + a1*x + a2*x^2 + .. + an-1*xn-1
� exponentiell: y := a + b*exp(c*x)� logarithmisch: y = a + b*ln(c*x)� und weitere Modelle und ihre Kombinationen
– Modelle müssen keinen Bezug zum Prozess haben
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Datenglättung
• Modelle: linear, polynomisch, exponentiell, usw.– with(CurveFitting)– model:=a+b*exp(c*t) + d*t^2– par:=NonlinearFit(model, X, Y, t)– pp:=unapply(par,t) : Umwandlung in eine Funktion
27
pp:=unapply(par,t) : Umwandlung in eine Funktion– plot(pp(t),t=a..b) : die dargestellt werden kann– Interpolieren: x:=3.5: y := pp(x)– X, Y: Vektoren (die Daten müssen entsprechend
umgewandelt werden)– kann auch für y:=f(x1, x2, ...) verwendet werden, X
ist dann eine Matrix der unabhängigen Variablen
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Datenglättung
• Funktionen zur Modellanpassung/Datenglättung– NonlinearFit : Modell kann frei angegeben werden– mit festen Modellen:
� ExponentialFit : y = a*exp(b*x)� PowerFit : y = a*xb
� PolynomialFit : y = a + a *x + a *x^2 + ..
28
� PolynomialFit : y = a0 + a1*x + a2*x^2 + ..� LogarithmicFit : y = a + b*ln(x)� LinearFit : y = a + b*x
Ivo Havlík, TCI MAPLE-Grundlagen
Messdatenauswertung - Statistik
• package Statistics: enthält komplette Statistik– ?Statistics– Beispiele
� Zufallszahlen mit verschiedener Verteilung� Mittelwerte, Median� Standardabweichung, Standardfehler
29
� Standardabweichung, Standardfehler� Korrelationskoeffizient
� u:=Sample(Normal(0,1), 100)� Median(u); Mean(u); StandardDeviation(u)� v:=Sample(Normal(0,1), 100)� Correlation(u,v)
Ivo Havlík, TCI MAPLE-Grundlagen
Ende Maple-Grundlagen 3
30Ivo Havlík, TCI MAPLE-Grundlagen