Kubischer Spline Tridiagonal-Matrix (Moments)

Grundlagen
Hermite Randbedingungen
[br]Nach Änderungen am Model sicherheithalber vollständige Berechnung anstoßen Strg+R![br][br]Entsprechend Wikipedia ist ein Spline-Polynom ausgehend von der 2. Ableitung gegeben durch[br][br][math]p(x)=\frac{1}{6}\left(\frac{\left(x_{i+1}-x\right)^{3}}{h_{i}} \cdot M_{i}+\frac{\left(x-x_{i}\right)^{3}}{h_{i}} \cdot M_{i+1}\right)+c_{i} \cdot\left(x-x_{i}\right)+d_{i}[/math][br][br][math]\begin{aligned} d_{i} &=y_{i}-\frac{h_{i}^{2}}{6} \cdot M_{i} \text { und } \\ c_{i} &=\frac{y_{i+1}-y_{i}}{h_{i}}-\frac{h_{i}}{6} \cdot\left(M_{i+1}-M_{i}\right) \end{aligned} [/math][br][br]Die Funktion fM() fasst p(x) und d[sub]i[/sub] , c[sub]i[/sub] (werden nicht explizit berechnet) aus Effektifitätsgründen zusammen.[br][list][*]Klick Matrix-Gleichung um zwischen allgemeiner und numerischer Darstellung zu wechseln.[/*][*]Zur Anpassung die Liste XY mit entsprechenden Stützpunkten (max 9) belegen.[/*][*]Die Randbedingungen entsprechend Wikipeadia in [math]\mu_0,\quad \mu_n,\quad \lambda_0,\quad \lambda_n \text{ und } \quad b_0,\quad b_n[/math] hinterlegen[/*][*]Berechnung p(x) Abschnitte : { [sup]1[/sup]/[sub]6[/sub] (...) , c[sub]i[/sub] , d[sub]i[/sub]}[br][i]pM(i,Mi,Mii):={1/6 ((Element(X,i+1) - x)³ / (Element(X,i+1) - Element(X,i)) Mi + (x - Element(X,i))³ / (Element(X,i+1) - Element(X,i)) Mii) , ((Element(Y,i + 1) - Element(Y,i)) / (Element(X,i+1) - Element(X,i)) - (Element(X,i+1) - Element(X,i)) / 6 (Mii - Mi)) (x - Element(X,i)) + Element(Y,i) ,- (Element(X,i+1) - Element(X,i))² / 6 Mi}[/i][br][/*][/list]
[math] \left(\begin{array}{cccccc}[br]\mu_{0} & \lambda_{0} & & & & \\[br] \frac{h_{0}}{6} & \frac{h_{0}+h_{1}}{3} & \frac{h_{1}}{6} & & & \\[br] & \ddots & \ddots & \ddots & & \\[br] & & \frac{h_{i-1}}{6} & \frac{h_{i-1}+h_{i}}{3} & \frac{h_{i}}{6} & \\[br] & & & \ddots & \ddots & \ddots \\[br] & & & & \lambda_{n} & \mu_{n}\end{array}\right)[br] \cdot\left(\begin{array}{c}M_{0} \\ M_{1} \\ \vdots \\ M_{i} \\ \vdots \\ M_{n}\end{array}\right)=\left(\begin{array}{c}b_{0} \\ \frac{y_{2}-y_{1}}{h_{1}}-\frac{y_{1}-y_{0}}{h_{0}} \\ \vdots \\ \frac{y_{i+1}-y_{i}}{h_{i}}-\frac{y_{i}-y_{i-1}}{h_{i-1}} \\ \vdots \\ b_{n}\end{array}\right)[/math][br][math]h_i=x_{i+1}-x_i[/math][br][br]- Natürliche Randbedingungen (auch freier Rand)[br]Bedingung: [math]s_{0}^{\prime \prime}\left(x_{0}\right)=0, s_{n-1}^{\prime \prime}\left(x_{n}\right)=0[/math][br]Bedeutung: Das Spline schließt mit Wendepunkten ab.[br]Berechnung: [math] \lambda_{0}=\lambda_{n}=b_{0}=b_{n}=0[/math] und [math] \mu_{0}=\mu_{n}=1[/math][br][br]- Hermite Randbedingungen (auch eingespannter Rand)[br]Bedingung: [math]s_{0}^{\prime}\left(x_{0}\right)=f^{\prime}(a), s_{n-1}^{\prime}\left(x_{n}\right)=f^{\prime}(b)[/math][br]Bedeutung: [math] f^{\prime}(a) [/math] und [math] f^{\prime}(b) [/math] sind vorgegeben, normalerweise entweder durch die Ableitung einer zu interpolierenden Funktion f oder durch eine Approximation derselben. [br]Berechnung:[br][math][br]\begin{array}{ccc}[br]\lambda_{0}=\frac{h_{0}}{6}, & \mu_{0}=\frac{h_{0}}{3}, & b_{0}=\frac{y_{1}-y_{0}}{h_{0}}-f^{\prime}(a) \\[br]\lambda_{n}=\frac{h_{n-1}}{6}, & \mu_{n}=\frac{h_{n-1}}{3}, & b_{n}=-\frac{y_{n}-y_{n-1}}{h_{n-1}}+f^{\prime}(b)[br]\end{array}[br][/math][br][br]- periodische Randbedingungen[br]Bedingung:[br] Intervall [math] \left[x_{0}, x_{n+1}\right], y_{0}=: y_{n+1}, [br]s_{0}^{\prime}\left(x_{0}\right)=: s_{n}^{\prime}\left(x_{n+1}\right), [br]s_{0}^{\prime \prime}\left(x_{0}\right)=: s_{n}^{\prime [br]\prime}\left(x_{n+1}\right) [/math][br]Bedeutung: Nullte, erste und zweite Ableitung von [math] S [/math] am Anfang und am Ende des Intervalls sind gleich.[br]Berechnung:[br]Es wird eine zusätzliche Stützstelle [math] x_{n+1} [/math] eingeführt, welche [br]das Intervall begrenzt. Die Anzahl der Gleichungen zur Berechnung der Momente und die Größe der Matrix bleibt jedoch gleich, da [math] [br]M_{n+1}:=M_{0} [/math] bereits gegeben ist, damit die zweiten Ableitungen übereinstimmen. Für die erste- und letzte Zeile der Matrix gilt: [br][math][br]\begin{array}{c}[br]\mu_{0}=\frac{h_{n}+h_{0}}{3},[br] \quad \lambda_{0}=\frac{h_{0}}{6}, \quad [br]b_{0}=\frac{y_{1}-y_{0}}{h_{0}}-\frac{y_{0}-y_{n}}{h_{n}} \\[br]\mu_{n}=\frac{h_{n-1}+h_{n}}{3},[br] \quad \lambda_{n}=\frac{h_{n-1}}{6}, \quad [br]b_{n}=\frac{y_{0}-y_{n}}{h_{n}}-\frac{y_{n}-y_{n-1}}{h_{n-1}}[br]\end{array}[br][/math][br](siehe Formeln in Caption von λ, μ, b)[br][br]Außerdem sind die Ecken der Matrix abseits der Hauptdiagonalen hier nicht Null:[br][math][br]m_{0, n}=m_{n, 0}=\frac{h_{n}}{6}[br][/math][br]

Information: Kubischer Spline Tridiagonal-Matrix (Moments)