Spline-Interpolation

Neue Frage »

energyfull Auf diesen Beitrag antworten »
Spline-Interpolation
Guten Tag an alle,
ich bereite mich für die Numerik-Klausur vor. Da bin ich an eine aufgabe gestoßen, bei der ich nicht weiter komme. es geht um Spline-Interpolation

ich habe folgendes gegeben:
0 1 2 3 4
0 1 4 1 0
ich habe noch angegeben:

geben sie für den interpolierenden spline s das polynom explizit an.

Hinweis: aufgrund der symmetrie gilt: s'(2)=0

könnt ihr mir bitte helfen? es ist sehr sehr wichtig für mich.

danke im vorraus
Math1986 Auf diesen Beitrag antworten »
RE: Spline-Interpolation
[WS] Spline-Interpolation - Theorie
[WS] Spline-Interpolation - Beispiele
energyfull Auf diesen Beitrag antworten »

ok ich hatte mir das schonmal angeguckt,
man soll als erstes die deltas ausrechnen, das habe ich dann auch gemacht:

n=4

deltas von t dt:
[1,1,1,1]
deltas von f df:
[1,3,-3,-1]

wie mache ich dann weiter?
tigerbine Auf diesen Beitrag antworten »

Ich nehme an es geht um einen vollständigen kubischen Spline?[attach]20601[/attach]

Kommentar: Sieht viel aus, ist es hier aber nicht. Aber nur, weil die Daten so schön symmetrisch sind und wir nur eine Unbekannte s haben. Hier empfielt es sich vom vorgehen im Workshop in soweit abzuweichen, dass man nur die Grundidee übernimmt, aber nicht alle Variablen die dort gefordert sind ausrechnet.

Bitte erst mal nur überfliegen, die eigentlichen Rechnungen kommen unten

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
>> spline3
 
Es wird ein kubischer Spline berechnet. Spezifizierung folgt.
 
Beachte: Der Datensatz hat die Form
         Knoten:           t_0 ,...,  t_n
         Funktionswerte: f(t_0),...,f(t_n)
 
Knotenpunkte eingeben:   [0,1,2,3,4]
Funktionswerte eingeben: [0,1,4,1,0]
 
n =
     4
------------------------------------------------------------------------------
Berechnung der Deltas dt_0,...,dt_n-1
dt =
     1     1     1     1
 
Berechnung der Deltas df_0,...,df_n-1
df =
     1     3    -3    -1
 
Berechnung der Brüche df0/dt0,...,df_n-1/dt_n-1
dfdt =
     1     3    -3    -1
 
 
 
Berechnung der Betas   b_1,...,b_n-1
b =
     1     1     1
 
Berechnung der Alphas  a_1,...,a_n-1 (vorläufig)
a =
     4     4     4
 
Berechnung der Gammas  c_1,...c_n-1
c =
     1     1     1
 
Berechnung der rs      r_1,...,r_n-1 (vorläufig)
r =
    12     0   -12
 
------------------------------------------------------------------------------
Bitte wählen: 0 - natürlicher Spline
              1 - vollst. Spline
 
Deine Wahl: 1
Bitte s_0 eingeben: 0
Bitte s_n eingeben: 0
------------------------------------------------------------------------------
 
Berechnung der Alphas  a_1,...,a_n-1 (vollst. Spline)
a =
     4     4     4
 
Berechnung der rs      r_1,...,r_n-1 (vollst. Spline)
r =
    12     0   -12
 
Aufstellen der Matrix M
M =
     4     1     0
     1     4     1
     0     1     4
 
Berechnung der Lösung s von Ms=r: s_1,...,s_n-1
    3.0000   -0.0000   -3.0000
 
Der komplette Vektor s: 
s =
         0    3.0000   -0.0000   -3.0000         0
 
Matrix der Restriktionen in Newton-Darstellung
RN =
         0         0    1.0000    1.0000
    1.0000    3.0000         0   -3.0000
    4.0000   -0.0000   -3.0000    3.0000
    1.0000   -3.0000    2.0000   -1.0000
 
Matrix der Restriktionen in Monom-Darstellung: 1,x,x²,x³
RM =
         0         0         0    1.0000
    4.0000  -12.0000   12.0000   -3.0000
  -44.0000   60.0000  -24.0000    3.0000
   64.0000  -48.0000   12.0000   -1.0000
 
Vergleichsfunktion eingeben? (0=ja, 1=nein) 1
Stellen auswerten? (0=ja, 1=nein) 


Ohne PC würde ich das aber nicht rechnen. Wir suchen 4 Restriktionen. Wegen der symmetrie der Daten, auf die ja nochmal hingewiesen wird, wissen wir, dass die Restriktionen symmtrisch zu x=2 sind. Daher reduzieren wir die Aufgabe auf die Intervalle [0,1][1,2].

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
>> spline3
 
Es wird ein kubischer Spline berechnet. Spezifizierung folgt.
 
Beachte: Der Datensatz hat die Form
         Knoten:           t_0 ,...,  t_n
         Funktionswerte: f(t_0),...,f(t_n)
 
Knotenpunkte eingeben:   [0,1,2]
Funktionswerte eingeben: [0,1,4]
 
n =
     2
------------------------------------------------------------------------------
Berechnung der Deltas dt_0,...,dt_n-1
dt =
     1     1
 
Berechnung der Deltas df_0,...,df_n-1
df =
     1     3
 
Berechnung der Brüche df0/dt0,...,df_n-1/dt_n-1
dfdt =
     1     3
 
 
 
Berechnung der Betas   b_1,...,b_n-1
b =
     1
 
Berechnung der Alphas  a_1,...,a_n-1 (vorläufig)
a =
     4
 
Berechnung der Gammas  c_1,...c_n-1
c =
     1
 
Berechnung der rs      r_1,...,r_n-1 (vorläufig)
r =
    12
 
------------------------------------------------------------------------------
Bitte wählen: 0 - natürlicher Spline
              1 - vollst. Spline
 
Deine Wahl: 1
Bitte s_0 eingeben: 0
Bitte s_n eingeben: 0
------------------------------------------------------------------------------
 
Berechnung der Alphas  a_1,...,a_n-1 (vollst. Spline)
a =
     4
 
Berechnung der rs      r_1,...,r_n-1 (vollst. Spline)
r =
    12
 
Aufstellen der Matrix M
M =
     4
 
Berechnung der Lösung s von Ms=r: s_1,...,s_n-1
     3
 
Der komplette Vektor s: 
s =
     0     3     0
 
Matrix der Restriktionen in Newton-Darstellung
RN =
     0     0     1     1
     1     3     0    -3
 
Matrix der Restriktionen in Monom-Darstellung: 1,x,x²,x³
RM =
     0     0     0     1
     4   -12    12    -3


Wir sehen, es kommen die gleichen Restriktionen raus. Nun stellen wir mittels Newton-Hermite die beiden Restriktionen auf, die Unbekannte erste Ableitung bei x=1 nennen wir s.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
R0:=0+0*(x-0)+1*(x-0)^2+(s-2)*(x-0)^2*(x-1);
                           2            2
                    R0 := x  + (s - 2) x  (x - 1)

> R0 := expand(R0);

                            2    3      2        3
                   R0 := 3 x  + x  s - x  s - 2 x

> R01 := diff(R0,x);

                                  2                2
                  R01 := 6 x + 3 x  s - 2 s x - 6 x

> R02 := diff(R01,x);

                    R02 := 6 + 6 s x - 2 s - 12 x


So, das ganze noch für die zweite Restriktion, dann x=1 einsetzen und die zweiten Ableitungen gleich setzen, s ausrechnen.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
R1:=1+s*(x-1)+(3-s)*(x-1)^2+(s-6)*(x-1)^2*(x-2);
                                       2                  2
  R1 := 1 + s (x - 1) + (3 - s) (x - 1)  + (s - 6) (x - 1)  (x - 2)

> R1 := expand(R1);

                                  2             2      3        3
     R1 := 16 + 8 s x - 4 s + 27 x  - 36 x - 5 x  s + x  s - 6 x

> R11 := diff(R1,x);

                                                2         2
           R11 := 8 s + 54 x - 36 - 10 s x + 3 x  s - 18 x

> R12 := diff(R11,x);

                   R12 := 54 - 10 s + 6 s x - 36 x

>  6+6*s*1-2*s-12*1 = 54-10*s+6*s*1-36*1;

                         -6 + 4 s = 18 - 4 s

> R6 := solve({-6+4*s = 18-4*s});

                            R6 := {s = 3}


Kommen wir auf s=3, wie auch im Programmoutput.

code:
1:
2:
3:
Der komplette Vektor s: 
s =
     0     3     0


Nun kannst du selbst einsetzen und die Restriktionen konkret ausrechnen.
tigerbine Auf diesen Beitrag antworten »

Zitat:
könnt ihr mir bitte helfen? es ist sehr sehr wichtig für mich.


Eine Rückmeldung wäre nett gewesen...
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »