1.24.27 Φυσικές (συναρτήσεις) splines: spline
Ορισμός
Έστω σn μια υποδιαίρεση του πραγματικού διαστήματος [a,b] :
Η s είναι μια συνάρτηση
spline βαθμού l, εάν η s είναι μια απεικόνιση του [a,b]
στο ℝ τέτοια ώστε :
-
Η s έχει συνεχείς παραγώγους τάξης μέχρι l−1,
- σε κάθε διάστημα της υποδιαίρεσης, το s
είναι ένα πολυώνυμο βαθμού μικρότερου ή ίσου με l.
Θεώρημα
Το σύνολο των συναρτήσεων
spline βαθμού l στο σn είναι ένας
διανυσματικός υπόχωρος του ℝ διάστασης n+l.
Απόδειξη
Στο [a,x1], το s είναι ένα πολυώνυμο A βαθμού μικρότερου ή ίσου με
l, και επομένως στο [a,x1], s=A(x)=a0+a1x+...alxl που σημαίνει ότι το A είναι ένας γραμμικός
συνδυασμός των 1,x,...xl.
Στο [x1,x2], το s είναι ένα πολυώνυμο B βαθμού μικρότερου ή ίσου με
l, γι’ αυτό και στο [x1,x2], s=B(x)=b0+b1x+...blxl.
Η συνάρτηση s έχει συνεχείς παραγώγους τάξης μέχρι και l−1, γι ’αυτό :
∀ 0 ≤ j ≤ l−1, B(j)(x1)−A(j)(x1)=0 |
και επομένως B(x)−A(x)=α1(x−x1)l ή B(x)=A(x)+α1(x−x1)l.
Ορίστε την συνάρτηση :
q1(x) =
| ⎧
⎨
⎩ | 0 | στο | [a,x1] |
(x−x1)l | στο | [x1,b] |
|
|
Επομένως :
s|[a,x2]=a0+a1x+...alxl+α1q1(x) |
Στο [x2,x3], το s είναι ένα πολυώνυμο C βαθμού μικρότερου ή ίσου με
l, γι’ αυτό στο [x2,x3], s=C(x)=c0+c1x+...clxl.
Η συνάρτηση s έχει συνεχείς παραγώγους τάξης μέχρι και l−1, γι’ αυτό :
∀ 0 ≤ j ≤ l−1, C(j)(x2)−B(j)(x2)=0 |
και επομένως C(x)−B(x)=α2(x−x2)l or C(x)=B(x)+α2(x−x2)l.
Ορίστε τη συνάρτηση:
q2(x) =
| ⎧
⎨
⎩ | 0 | στο | [a,x2] |
(x−x2)l | στο | [x2,b] |
|
|
Επομένως :
s|[a,x3]=a0+a1x+...alxl+α1q1(x)+α2q2(x)
Και ούτω καθεξής , οι συναρτήσεις ορίζονται από :
∀ 1 ≤ j ≤ n−1,
qj(x) =
| ⎧
⎨
⎩ | 0 | στο | [a,xj] |
(x−xj)l | στο | [xj,b] |
|
|
Επομένως,
s|[a,b]=a0+a1x+...alxl+α1q1(x)+....+αn−1qn−1(x) |
και το s είναι ένας γραμμικός συνδυασμός από n+l ανεξάρτητες συναρτήσεις
1,x,..xl,q1,..qn−1.
Παρεμβολή με συναρτήσεις
spline
Αν θέλουμε να παρεμβάλουμε μια συνάρτηση f στο σn από μια συνάρτηση
spline
s βαθμού l, τότε το s πρέπει να επαληθεύει τις συνθήκες s(xk)=yk=f(xk) για όλα τα
0≥ k≥ n. Γι’ αυτό υπάρχουν n+1 συνθήκες, και l−1 βαθμοί
ελευθερίας. Μπορούμε επομένως να προσθέσουμε l−1 συνθήκες, οι οποίες είναι στις
παραγώγους της s στα a και b.
Η Ερμιτιανή παρεμβολή, η φυσική παρεμβολή και η περιοδική παρεμβολή
είναι 3 είδη παρεμβολής που παίρνουμε συγκεκριμενοποιώντας 3 είδη
περιορισμών. Η μοναδικότητα της λύσης
του προβλήματος της παρεμβολής μπορεί να αποδειχθεί για το κάθε είδος
περιορισμών.
Αν το l είναι περιττό (l=2m−1), υπάρχουν 2m−2 βαθμοί
ελευθερίας. Οι περιορισμοί ορίζονται από :
-
Ερμιτιανή Παρεμβολή
∀ 1≤ j≤ m−1, s(j)(a)=f(j)(a),
s(j)(b)=f(j)(b) |
- Φυσική παρεμβολή
∀ m ≤ j ≤ 2m−2, s(j)(a)=s(j)(b)=0 |
- Περιοδική παρεμβολή
∀ 1≤ j≤ 2m−2, s(j)(a)=s(j)(b) |
Αν το l είναι ζυγός (l=2m), υπάρχουν 2m−1 βαθμοί
ελευθερίας. Οι περιορισμοί ορίζονται από :
-
Ερμιτιανή Παρεμβολή
∀ 1≤ j≤ m−1, s(j)(a)=f(j)(a),
s(j)(b)=f(j)(b) |
και
- Φυσική παρεμβολή
∀ m ≤ j ≤ 2m−2, s(j)(a)=s(j)(b)=0 |
και
- Περιοδική παρεμβολή
∀ 1≤ j≤ 2m−1, s(j)(a)=s(j)(b) |
Μια φυσική spline
είναι μια συνάρτηση spline η οποία επαληθεύει τους περιορισμούς της φυσικής παρεμβολής.
spline παίρνει ως ορίσματα μια λίστα τετμημένων (σε αύξουσα σειρά),
μια λίστα τεταγμένων, το όνομα μιας μεταβλητής, και ένα βαθμό.
spline επιστρέφει την φυσική συνάρτηση spline (με συγκεκριμενοποιημένα τον βαθμό
και τα σημεία από τα οποία διέρχεται) σαν μια λίστα πολυωνύμων, με κάθε
πολυώνυμο έκγυρο σε ένα διάστημα.
Παραδείγματα:
-
Μια φυσική spline βαθμού 3, που διέρχεται από τα σημεία
x0=0,y0=1, x1=1,y1=3 και x2=2, y2=0, Είσοδος :
spline([0,1,2],[1,3,0],x,3)
Έξοδος είναι μια λίστα 2 πολυωνυμικών παραστάσεων του x :
[ −5*x3/4+13*x/4+1, 5*(x−1)3/4−15*(x−1)2/4+(x−1)/−2+3 ] |
που ορίζονται αντίστοιχα στα διαστήματα [0,1] και [1,2].
- Μια φυσική spline βαθμού 4, που διέρχεται από τα σημεία
x0=0,y0=1, x1=1,y1=3, x2=2, y2=0 και x3=3, y3=−1,
Είσοδος :
spline([0,1,2,3],[1,3,0,-1],x,4)
Έξοδος είναι μια λίστα 3 πολυωνυμικών συναρτήσεων του x :
(201*(x−1)4−248*(x−1)3−372*(x−1)2+56*(x−1))/121+3, |
(−139*(x−2)4+556*(x−2)3+90*(x−2)2+−628*(x−2))/121] |
που ορίζονται αντίστοιχα στα διαστήματα [0,1], [1,2] και [2,3].
- Η φυσική παρεμβολή spline του cos στο
[0,π/2,3π/2], Είσοδος :
spline([0,pi/2,3*pi/2],cos([0,pi/2,3*pi/2]),x,3)
Έξοδος :
[((3*π3+(−7*π2)*x+4*x3)*1/3)/(π3), |
((15*π3+(−46*π2)*x+36*x2−8*x3)*1/12)/(π3)]
|