Konstruktion von Testsplines < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:53 Mo 20.04.2009 | Autor: | grenife |
Aufgabe | Wie kann ich Splines mit samt ihrer B-Spline-Koeffizienten konstruieren, deren Nullstellen ich exakt kenne. |
Hallo zusammen,
ich suche für meine Abschlussarbeit zur Nullstellenberechnung von Splines ein paar Testfunktionen, an denen ich meine untersuchten Verfahren ausprobieren kann. Ich frage mich aber gerade, wie ich am besten Splines nur aus vorgegebenen Nullstellen konstruieren kann. Bei Polynomen ist es ja recht einfach, Nullstellen wählen, Linearfaktoren bilden, Produkt symbolisch ausrechnen lassen und ich erhalte die Taylorkoeffizienten. Aber wie kann ich das am günstigsten bei Splines machen, also nur die Nullstellen vorgeben und hieraus entsprechende B-Spline-Koeffizienten berechnen? Das Aneinanderhängen von Polynomstücken erscheint mir recht mühselig und wüsste auf den ersten Blick auch kein algorithmisches Vorgehen hierfür.
Vielen Dank für Eure Tipps und viele Grüße
Gregor
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 04:04 Fr 24.04.2009 | Autor: | felixf |
Hallo!
> Wie kann ich Splines mit samt ihrer B-Spline-Koeffizienten
> konstruieren, deren Nullstellen ich exakt kenne.
Deine B-Spline ist doch von der Art $g(x) = [mm] \sum_{i=0}^{n-m} f_i b_{i,n}(t) I_{[t_{n-1}, t_{m-n}]}(x)$, [/mm] wobei die [mm] $f_i$ [/mm] die Parameter sind und [mm] $I_{[a,b]}(x) [/mm] = [mm] \begin{cases} 1 & \text{falls } x \in [a, b] \\ 0 & \text{sonst} \end{cases}$ [/mm] die Indikatorfunktion, und [mm] $b_{i,n}(t)$ [/mm] die Basisfunktionen.
Wenn du jetzt an der Stelle [mm] $t_i$ [/mm] den Wert 0 haben willst, $i = 0, [mm] \dots, [/mm] k$ (und die [mm] $t_i$ [/mm] sind konkret gegeben), dann bekommst du doch ein Gleichungssystem:
[mm] $g(t_i) [/mm] = 0$, $i = 0, [mm] \dots, [/mm] k$
Dieses ist linear mit den Unbestimmten [mm] $f_0, \dots, f_{n-m}$.
[/mm]
Also stell es einfach auf und loese es. Eine triviale Loesung ist natuerlich [mm] $f_i [/mm] = 0$ fuer alle $i$, und du bist wohl eher an nicht-trivialen Loesungen interessiert. Da alle Loesungen im Kern einer Matrix liegen (die sich aus dem LGS ergibt) kannst du einfach eine Basis vom Kern berechnen und damit verschiedene nicht-triviale Elemente linear kombinieren.
LG Felix
PS: Das ist eigentlich genau die gleiche Methode, die man auch bei der Polynominterpolation verwendet -- nur das man da auch gern man explizite Loesungsformeln nimmt, wie die Lagrange-Interpolation. Sowas laesst sich vermutlich hier auch herleiten, aber warum so kompliziert wenn etwas LGS loesen auch zum Ziel fuehrt :)
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:22 Sa 25.04.2009 | Autor: | grenife |
Hallo Felix,
vielen Dank erstmal für Deine Nachricht. Die Idee klingt einleuchtend, nur das Problem ist das Folgende: ich benötige die Testsplines, um ein Verfahren zur Nullstellenberechnung mit Hilfe des Kontrollpolygons zu testen, und in Deiner Variante hätten ja Kontrollpolygon UND Spline sofort bei [mm] $t_i$ [/mm] eine Nullstelle. Ich fürchte, das würde es dem Verfahren ein wenig zu leicht machen.
Ich glaube besser wäre es wohl, wenn ich Polynomstücke aneinander pappen würde, nur wie kann ich das algorithmisch am besten machen? Das Unterteilen geht mit de Casteljau/de Boor, aber wie kann ich das genau umgekehrt machen?
Viele Grüße
Gregor
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:29 Sa 25.04.2009 | Autor: | felixf |
Hallo Gregor!
Ich glaub da hab ich mich in meiner Nachricht ziemlich schlecht ausgedrueckt: die [mm] $t_i$ [/mm] oben sind schon die Stuetzstellen, die [mm] $t_i$ [/mm] unten bei den Bedingungen [mm] $g(t_i) [/mm] = 0$ koennen (bzw sollen) andere [mm] $t_i$ [/mm] sein :)
Wenn du sie anders waehlst machst du es deinem Verfahren auch nicht zu leicht
> Ich glaube besser wäre es wohl, wenn ich Polynomstücke
> aneinander pappen würde, nur wie kann ich das algorithmisch
> am besten machen? Das Unterteilen geht mit de Casteljau/de
> Boor, aber wie kann ich das genau umgekehrt machen?
Da kann ich dir nicht mit weiterhelfen, dazu kenn ich mich zu wenig mit der Materie aus...
LG Felix
|
|
|
|