Παράδειγμα # ΑΡΙΘΜΗΤΙΚΗ ΠΑΡΕΜΒΟΛΗ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης Άσκηση Να γίνει σύγκριση των μεθόδων παρεμβολής Newton και agrange: Απάντηση: Παρεμβολή Newton: N ( ) ( )( ) ( ) P a a a a () N Παρεμβολή agrange: n, όπου ( ) P n ( j ) j j n ( j) j j () Στη μέθοδο Newton αφού υπολογισθούν οι συντελεστές α, τότε η τιμή του πολυωνύμου παρεμβολής σε ένα δεδομένο σημείο υπολογίζεται με O ( n) πολλαπλασιασμούς και προσθέσεις, ενώ ο αντίστοιχος υπολογισμός έχοντας το πολυώνυμο παρεμβολής όπως προκύπτει από τη μέθοδο agrange απαιτεί περισσότερες πράξεις (Γ. Ακρίβης και Β. Δουγαλής, Εισαγωγή στην Αριθμητική Ανάλυση, σελ.-). Επίσης, η παρεμβολή σε ένα επιπλέον σημείο, δηλαδή παρεμβολή στα σημεία,, n και n, απαιτεί τον υπολογισμό των νέων πολυωνύμων agrange εξ αρχής, ενώ με τη μέθοδο Newton απλώς υπολογίζεται ο επιπλέον συντελεστής a N του πολυωνύμου. Βασικό πλεονέκτημα της μεθόδου agrange είναι η απλότητα της Εξ. (), κάτι που την καθιστά χρήσιμη για θεωρητικούς σκοπούς. Άσκηση Να χρησιμοποιηθούν οι μέθοδοι α) παρεμβολής agrange και β) κυβικές splnes, και να βρεθεί η συνάρτηση παρεμβολής στον πίνακα δεδομένων:........... ( )...........
Απάντηση: α. Παρεμβολή agrange. Εφαρμόζοντας τη μεθοδολογία παρεμβολής agrange, το πολυώνυμο παρεμβολής είναι P όπου Ο κώδικας σε Matematca για την παρεμβολή agrange δίνεται παρακάτω: {.,.,.,.,.,.,.,.,.,.,.}; {.,.,.,.,.,.,.,.,.,.,.}; ConstantArra[, engt[]]; Do[I[! j, [[]] [[]]*( - [[j]])/([[]] - [[j]])], {, engt[]}, {j, engt[]}]; Pol Epand[um[[[]]*[[]], {, engt[]}]]; Prnt["P()", Pol] InterpPonts Table[{[[]], [[]]}, {, engt[]}];
ow[stplot[interpponts, Plottle -> Red], Plot[Pol, {, Mn[], Ma[]}], Plotabel -> None, abeltle -> {, Graevel[], Bold}] Το πολυώνυμο παρεμβολής που προκύπτει είναι: P ( )........... Με βάση τον παραπάνω κώδικα η γραφική παράσταση του πολυωνύμου παρεμβολής συναρτήσει των αρχικών σημείων παρεμβολής απεικονίζεται στο παρακάτω σχήμα: β. Παρεμβολή κυβικών splnes. Οι ποσότητες και που απαιτούνται για των υπολογισμό των πολυωνύμων ( ) συναρτήσει των και ( ) φαίνονται παρακάτω:............... -. -. -... Τα πολυώνυμα για τα αντίστοιχα υποδιαστήματα είναι τα παρακάτω: ( ) ( ) ( ) ( ) ( )
Θεωρείται ότι ενώ τα υπόλοιπα j υπολογίζονται από την επίλυση του τριδιαγώνιου συστήματος A b όπου: A T b [ ] T Ο κώδικας σε Matematca για την παρεμβολή με κυβικές splnes δίνεται παρακάτω: {.,.,.,.,.,.,.,.,.,.,.}; {.,.,.,.,.,.,.,.,.,.,.}; ConstantArra[,engt[]-]; DConstantArra[,engt[]-]; Do[[[]][[]]-[[]],{,engt[]}]; Do[D[[]][[]]-[[]],{,engt[D]}]; nengt[]-; AConstantArra[,{n,n}]; bconstantarra[,n];
A[[,]].*([[]][[]]); A[[,]][[]]; Do[A[[,-]][[]]; A[[,]].*([[]][[]]); A[[,]][[]];,{,,n-}]; A[[n,n-]][[n]]; A[[n,n]].([[n]][[n]]); Do[b[[]]*(D[[]]/[[]]-D[[]]/[[]]),{,n}]; olnearolve[a,b]//n; ConstantArra[,engt[]]; Do[[[]]ol[[]],{,n}]; ConstantArra[,engt[]-]; Do[[[]]Epand[[[]]/./[[]]*([[]]-)^[[]]/./[[]]*([[]])^([[]]/[[]]-[[]]*[[]]/.)*(-[[]])([[ ]]/[[]]-[[ ]]*[[]]/.)*([[]]-)],{,engt[]}] Do[Prnt["",-,"()",[[]]],{,engt[]}] PlotsConstantArra[,engt[]]; InterpPontsTable[{[[]],[[]]},{,engt[]}]; Do[Plots[[]]Plot[[[]],{,[[]],[[]]}],{,engt[]}]; ow[stplot[interpponts,plottle->red],plots,plotabel->none,abeltle- >{,Graevel[],Bold}] Με βάση τον παραπάνω κώδικα και τα δεδομένα του προβλήματος προκύπτει ότι το τριδιαγώνιο γραμμικό και η λύση του ως:.................. Α..., b..................... Ενώ τα πολυώνυμα που προκύπτουν στα αντίστοιχα υποδιαστήματα είναι: ( ).... ( ).... ( ).... ( ).... ( ).... ( )........ ( ).... ( ).... ( )....
Η γραφική παράσταση των παραπάνω πολυωνύμων στα διάφορα υποδιαστήματα συναρτήσει των αρχικών σημείων παρεμβολής απεικονίζεται στο παρακάτω σχήμα. Άσκηση Να εφαρμοσθεί η μέθοδος των ελάχιστων τετραγώνων επιλέγοντας α) πολυώνυμο ου βαθμού και β) πολυώνυμο ου βαθμού στον παρακάτω πίνακα δεδομένων: ( )....... Απάντηση: Ο κώδικας που εφαρμόζει την μέθοδο ελαχίστων τετραγώνων για πολυώνυμο οποιουδήποτε βαθμού m σε Matematca δίνεται παρακάτω: m; mm; {,,,,,,,,,}; {.,.,.,,,.,.,.,,.}; AConstantArra[,{m,m}]; bconstantarra[,m]; parconstantarra[,m]; Do[A[[,j]]um[[[k]]^(j-),{k,engt[]}],{,m},{j,m}]; Do[b[[]]um[[[k]]^(-)*[[k]],{k,engt[]}],{,m}]; Do[par[[]]^(-),{,m}]; anearolve[a,b]; Polum[a[[]]*par[[]],{,m}]; Prnt["P()",Pol] InterpDataTable[{[[]],[[]]},{,engt[]}]; um[([[]]-pol/.{->[[]]})^.,{,engt[]}]; Prnt["",] ow[stplot[interpdata,plottle- >Red],Plot[Pol,{,Mn[],Ma[]}],Plotabel->None,abeltle- >{,Graevel[],Bold}]
Ο αντίστοιχος κώδικας σε Fortran είναι: Program eastquares nteger::,j,n,m,deg real*::sum,,int real*,allocatable::(:),(:),a(:,:),l(:,:),(:),coe(:)!denton o data or nterpolaton n!number o data ponts allocate((n),(n)) (/,,,,,,,,,/) (/.,.,.,.,.,.,.,.,.,./)!Denton o te ntepolatng polnomal deg!degree o ntepolatng polnomal mdeg allocate(a(m,m),l(m,m),(m),coe(m))!construct te lnear sstem or te least square metod do,m do j,m sum. do k,n sumsum(k)**(j-.) a(,j)sum sum do k,n sumsum(k)**(-)*(k) a(,m)sum!oluton o te lnear sstem usng te Colesk metod!fnd lower dagonal matrce l. l(,)sqrt(a(,)) do,m!computatons below te dagonal do j,- sum. do k,j- sumsuml(j,k)*l(,k) l(,j)(a(,j)-sum)/l(j,j)!computatons or te dagonal sum. do k,- sumsuml(,k)** l(,)sqrt(a(,)-sum)
!Backsubsttuton or *b ()a(,m)/l(,) do,m sum. do j,- sumsuml(,j)*(j) ()(a(,m)-sum)/l(,)!backsubsttuton or Transpose()*coe coe(m)(m)/l(m,m) do m-,,- sum. do jm,,- sumsuml(j,)*coe(j) coe()(()-sum)/l(,). do,n Int. do j,deg IntIntcoe(j)*()**j (()-Int)**. wrte(*,"(a)") "Te nterpolaton polnomal s:" wrte(*,"(a)",advance"no") "P()" do,deg (coe()>.) ten wrte(*,"(a,e.,a,i)",advance"no") "",sgn(coe(),.),"*^", else wrte(*,"(a,e.,a,i)",advance"no") "- ",sgn(coe(),.),"*^", end wrte(*,"(/)") wrte(*,"(a,f.)") "wt ", wrte(*,"(/)") end
α. Πολυώνυμο ου βαθμού. Με βάση τους παραπάνω κώδικες και επιλέγοντας ένα πολυώνυμο ου βαθμού το σύστημα που προκύπτει είναι: n n n n a a a a. a a n n n n. Το πολυώνυμο που προκύπτει από την επίλυση του παραπάνω συστήματος είναι: P..., P. n Η γραφική παράσταση του πολυωνύμου ου παρεμβολής απεικονίζεται στο παρακάτω σχήμα. βαθμού συναρτήσει των αρχικών σημείων
β. Πολυώνυμο ου βαθμού. Με βάση τους παραπάνω κώδικες και επιλέγοντας ένα πολυώνυμο ου βαθμού το σύστημα που προκύπτει είναι: n a n a a a. n a a. a a. n Το πολυώνυμο που προκύπτει από την επίλυση του παραπάνω συστήματος είναι: ( ) P ( )...., P( ). n Η γραφική παράσταση του πολυωνύμου ου παρεμβολής απεικονίζεται στο παρακάτω σχήμα. βαθμού συναρτήσει των αρχικών σημείων Παρατηρείται ότι το πολυώνυμο ου βαθμού δεν προσφέρει σημαντική μείωση του και άρα η επιλογή ενός πολυωνύμου παρεμβολή ου βαθμού είναι επαρκής για τα συγκεκριμένα δεδομένα. Επισημαίνεται επίσης ότι περεταίρω αύξηση του βαθμού του πολυωνύμου παρεμβολής οδηγεί σε γραμμικό σύστημα κακής κατάστασης και η Matematca ειδοποιεί ότι η επίλυση του μπορεί να περιέχει σημαντικά αριθμητικά σφάλματα
Άσκηση π π Έστω η συνάρτηση ( ) sn,,. Με βάση τα σημεία π π,, και τις αντίστοιχες τιμές,, εφαρμόστε α) παρεμβολή agrange και β) παρεμβολή κυβικών splnes και βρείτε τα πολυώνυμα παρεμβολής. Σχολιάστε τα αποτελέσματά π π σας. Τέλος λαμβάνοντας υπόψη ότι (επιπλέον δεδομένα) εφαρμόστε τη γ) μέθοδο παρεμβολής κυβικών splnes ελαφρώς τροποποιημένη και βρείτε τα πολυώνυμα παρεμβολής. Σχολιάστε τα αποτελέσματά σας ως προς τη σημαντικότητα των επιπλέον δεδομένων και προτείνετε επιγραμματικά τρόπους βελτίωσης των παραπάνω αποτελεσμάτων. Απάντηση: α. Παρεμβολή agrange: P ( ) ( ) ( ) ( ) ( ) ( ) π ( ) π ( ) π π π π π ( ) π ( ) π π π π π π P ( ) π π β. Παρεμβολή κυβικών splnes: ( )? και? P π π / ( ) ( ) ( ) ( ) ( ) ( ) Θεωρώντας επίσης τις συμπληρωματικές συνθήκες το τριδιαγώνιο σύστημα ανάγεται σε μία εξίσωση με μόνο άγνωστο το : ( ) π ( ) ( ) ( ) π ( ) ( ) ( ), [ π /,] π ( ), [, π / ] π
Και οι δύο παρεμβολές οδηγούν ακριβώς στο ίδιο πολυώνυμο ης π /, π /. [ ] τάξης στο διάστημα β. Παρεμβολή κυβικών splnes με επιπλέον δεδομένα: Οι συμπληρωματικές συνθήκες αντικαθίστανται από τις. ( ) ( ) ( ) ( ) ( ) ( ) Η η εξίσωση είναι από το προκύπτον τριδιαγώνιο σύστημα αλλά χωρίς την υπόθεση : ( ) Το σύστημα επιλύεται για τους αγνώστους,, : π π ( ) π π π π ( ) π π ( ) π π π π π π π π και π π ( ) ( ) ( ) ( ) ( ) [ π /, ] π π ( ) [, π / ] π π Το αποτέλεσμα βελτιώνεται σημαντικά αφού τα πολυώνυμα ης τάξης προσεγγίζουν καλύτερα την ημιτονοειδή συνάρτηση. Τα παραπάνω αποτελέσματα μπορούν να βελτιωθούν σημαντικά επιλέγοντας περισσότερα σημεία παρεμβολής ή επιλέγοντας ως συνάρτηση βάσης την ημιτονοειδή συνάρτηση.
Άσκηση Έστω τα δεδομένα (, ),...,( n, n) την εύρεση της συνάρτησης παρεμβολής ( ) a ( ) bg ( ) όπου ( ) και γνωστές συναρτήσεις. d. Διατυπώστε τη μέθοδο των ελαχίστων τετραγώνων για και d ( ( ) ) ( a ( ) bg ( ) ) d n n n n a b g ab g a bg g είναι a ( ) b ( ) g( ) ( ) a ( ) b ( ) g( ) ( ) da d bg ( ) a ( ) g( ) g( ) b g ( ) a ( ) g( ) g( ) db n n n ( ) a b g n n n ( ) a g b g g a b ak ak bk Λ bk Λ Λ K Λ K a KK K Λ K Λ K b K K K ( ( ) ) g( ) ( g( ) ) ( ) g( ) ( ) g( ) ( ) g( ) n n n ( g( ) ) ( ) ( ( ) ) ( ) g( ) ( ) g( ) ( ) g( ) n n n