Gelöste Aufgaben/Kit6
Aufgabenstellung
Von einen Funktionsverlauf (hier aus Kit5) wurden die skizzierten Samples ermittelt, aus denen bzgl. eines Referenzpunktes die Ableitungen bis zur vierten Ordnung ermittelt werden sollen.
Gesucht ist eine numerische Approximation der Ableitungen bis zur vierten Ordnung aus Samples der Lösung eines Randwertproblems.
Hier wird der Bezug zur Methode der Finiten Differenzen gezeigt.
Lösung mit Maxima
Header
Der Funktionsverlauf für dieses Beispiel kommt aus Aufgabe Kit4.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2017-10-12 */
/* ref: Lösung des Randwertproblems */
/*******************************************************/
Preparations
Stützstellen (Samples) eines Funktionsverlaufs erhalten wir, wenn wir die Funktion
in regelmäßigen Intervallen abtasten.
Das Bild oben zeigt die N= 16 Samples zu dieser Funktion.
/*******************************************************/
declare("Δξ", alphabetic);
params: [l[2]=l[1]/2,
w = [(5*xi^4)/2-(194*xi^3)/27+5*xi^2+xi,
(19*xi^3)/54-(7*xi^2)/18-(5*xi)/18+71/54]];
nos: 5;
samples: [
makelist(i/(2*nos),i,0,3*nos),
append(makelist(subst(i/(2*nos),xi,subst(params,w)[1]),i,0,2*nos),
makelist(subst(i/( nos),xi,subst(params,w)[2]),i,1, nos))];
plot2d ([discrete, samples[1], samples[2]],
[style,points], [point_type,diamond], [color,black],
[xlabel, "ξ→"], [ylabel, "w/W→"])$
Generic Approximation Polynoms
Diese Samples können wir in der Umgebung eines Punktes durch Polynome approximieren - z.B. durch eine Geradengleichung. Je nach Anwendungszweck braucht man Polynome einer bestimmten Ordnung. Um z.B. die zweite Ableitung w''(ξ*) zu bestimmen, brauchen wir mindestens ein Polynom 2. Grades, das dann zweimal abgeleitet die konstante Krümmung liefert.
Wir nehmen gleich einen ganzen Schwung von Polynomen, hier bis zur Ordnung 4. Je nach Ordnung des gesuchten Polynoms haben wir unterschiedlich viele unbekannte Polynomial-Koeffizienten. Diese müssen wir durch Anpassen an die Samples in der Umgebung von ξ* bestimmen.
/*******************************************************/
poly : makelist(sum(c[i,j]*xi^j,j,0,i),i,0,4);
pick : [[0],[-1,1],[-1,0,1],[-2,-1,1,2],[-2,-1,0,1,2]];
coeffs: flatten(makelist(
solve(makelist(subst(pick[i][j]*Δξ,xi,poly[i]) = W[pick[i][j]],j,1,length(pick[i])),
makelist(c[i-1,j],j,0,length(pick[i])-1))[1],
i,1,5));
Approximation Polynoms for ξ=8∙Δξ
Grafen der 5 Polynome nullten bis vierten Grades zeigen die folgende Grafen:
/*******************************************************/
key : 8;
selec : makelist( W[i] = samples[2][key+1+i],i,-2,2);
toPlot : subst([Δξ = 3/2/(3*nos)],subst(selec,subst(coeffs,poly)));
toPlot : append([[discrete, samples[1], samples[2]]],
makelist([parametric, t+key*3/2/(3*nos), subst(t,xi,toPlot[i]), [t,-1/2,1/2]],i,1,5));
plot2d (toPlot,
[style,points,lines,lines,lines,lines,lines],
[point_type,diamond],
[color,black, gray, blue,green, red, magenta],
[legend, "w", "p[0]", "p[1]", "p[2]", "p[3]", "p[4]"],
[xlabel, "ξ→"], [ylabel, "w/W→"])$
Check for fourth order derivative
Wir prüfen die Übereinstimmung mit der Problemstellung aus Kit5. Es muss
gelten.
Dafür definieren wir
und ermitteln die vierte Ableitung aus 5 aufeinanderfolgenden Sampling-Punkten.
Das funktioniert für die Samples 3,4, ... N-2 (damit jeweils "rechts" und "links" 2 Samples zur Verfügung stehen) und tragen κ rechts auf:
Für die analytische richtige Lösung müsste die vierte Ableitung κ einen Sprung an der Stelle ξ=1 haben. Weil sich diese Ableitung jedoch aus fünf aufeinanderfolgenden Stützstellen ergibt, funktioniert das nicht.
/* Check */
kappa : subst([Δξ=1/10],diff(subst(coeffs,poly[5]),xi,4));
samplePoints : makelist(i,i,3,length(samples[2])-2);
select5 : makelist(makelist(W[j]=samples[2][i+j],j,-2,2),i,samplePoints);
plot2d([discrete, samplePoints/10-1/10, makelist(subst(select5[i],kappa),i,1,length(select5))],
[style,points],
[point_type,diamond],
[color,red],
[legend, "κ"],
[xlabel, "ξ→"], [x,0,1.5], [ylabel, "w''''"])$;
Links
- ...
Literature
- ...