ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4: ΠΑΡΕΜΒΟΛΗ Επιμέλεια: ΓΙΑΝΝΗΣ ΛΥΧΝΑΡΟΠΟΥΛΟΣ Άσκηση Η σχέση ανάµεσα στην τάση και στην θερµοκρασία ενός θερµοστοιχείου πλατίνας µε 0% ρόδιο δίνεται από τον παρακάτω πίνακα. ΤΑΣΗ (V ) i microvolts ΘΕΡΜΟΚΡΑΣΙΑ (T ) i ( 0 C) 0 32.0 300 (*) 22.4 400 76.0 800 296.4 500 405.7 600 (*) 447.6 200 509.0 2500 608.4 3000 704.7 3200 (*) 76.4 3500 799.0 4000 89.9 4600 983.0 500 072.6 5300 25.7 5500 6 5900 (*) 230.3 6000 247.5 Να εφαρµοσθούν οι µέθοδοι παρεµβολής Newton, Lagrange, Κυβικές Splines και Ελαχίστων Τετραγώνων για να υπολογισθούν οι τιμές των θερµοκρασιών T στα σηµεία i V = 300, 600, 3200 και 5900. i Συγκρίνετε τα αποτελέσµατα παρεμβολής µε τα πειραµατικά αποτελέσµατα (*) και σχολιάστε την αποτελεσµατικότητα των µεθόδων.
Απάντηση: α) Το πρόγραμμα της μεθόδου Newton σε Fortran είναι το ακόλουθο: program Newton implicit none doubleprecision,allocatable::a(:),f(:),x(:) integer::n=3,i,j,k,status doubleprecision::s,p,xx(4),yy(4) allocate(a(0:n),f(0:n),x(0:n)) if (status/=0) Stop 'Not enough memory'! Σημεία παρεμβολής x(:)=(/0,400,800,500,200,2500,3000,3500,4000,4600,500,5300,5500,6000/)! Τιμές της f στα σημεία παρεμβολής f(:)=(/32.0,76.0,296.4,405.7,509.0,608.4,704.7,799.0,89.9,983.0,072.6,25.7,6,247.5/)! Τα σημεία στα οποία ζητάμε τις τιμές της συνάρτησης xx(:)=(/300,600,3200,5900/)! Υπολογισμός των συντελεστών α i do k=0,n s=0 do i=0,k p= do j=0,k if (i/=j) then p=p*(x(i)-x(j)) end if s=s+f(i)/p a(k)=s print*,a(:)!υπολογισμός της τιμής του πολυωνύμου παρεμβολής στα σημεία xx(i) do k=,4 s=0 do i=0,n p= do j=0,i- p=p*(xx(k)-x(j)) s=s+p*a(i) yy(k)=s end print*,yy(:) 2
To αποτέλεσμα του προγράμματος είναι το εξής: Συντελεστές α i i=0,,,3 32.0000000000000 0.360000000000000-7.3750090734863E-005-3.862550330884527E-008 5.87332262920972E-0-3.24576362633334E-04 6.968835094667E-08 3.85095996486420E-02-4.0293208228585E-024 2.06860383595373E-027-7.58565680960735E-03 2.3943455039779E-034-7.73395958889322E-038 3.508259843877544E-04 Τιμές του πολυωνύμου παρεμβολής στα ζητούμενα σημεία: x i 300 226.846684872646 600 4.84649449 3200 74.646728765067 5900 0.9462922550 f i β) Το πρόγραμμα της μεθόδου Lagrange σε Fortran είναι το ακόλουθο: program Lagrange implicit none doubleprecision,allocatable::l(:),f(:),x(:) integer::n=3,i,j,k,status doubleprecision::s,p,p2,xx(4),yy(4) allocate(l(0:n),f(0:n),x(0:n)) if (status/=0) Stop 'Not enough memory'! Σημεία παρεμβολής x(:)=(/0,400,800,500,200,2500,3000,3500,4000,4600,500,5300,5500,6000/)! Τιμές της f στα σημεία παρεμβολής f(:)=(/32.0,76.0,296.4,405.7,509.0,608.4,704.7,799.0,89.9,983.0,072.6,25.7,6,247.5/)! Τα σημεία στα οποία ζητάμε τις τιμές της συνάρτησης xx(:)=(/300,600,3200,5900/)!υπολογισμός της τιμής του πολυωνύμου παρεμβολής στα σημεία xx(i) do k=,4 s=0 do i=0,n p= p2= do j=0,n if (i/=j) then p=p*(xx(k)-x(j)) p2=p2*(x(i)-x(j)) end if s=s+f(i)*p/p2 3
yy(k)=s print*,yy(k) end Τιμές του πολυωνύμου παρεμβολής στα ζητούμενα σημεία: x i 300 226.846684872646 600 4.84649449 3200 74.646728765067 5900 0.9462922550 f i γ) Το πρόγραμμα της μεθόδου κυβικές Splines σε Fortran είναι το ακόλουθο: program Splines implicit none doubleprecision,allocatable::a(:),b(:),c(:),f(:),x(:),d(:),t(:),u(:),h(: ),df(:),y(:) integer::n=3,i,j,k,status doubleprecision::s,p,xx(4),yy(4) allocate(a(2:n-),f(0:n),x(0:n),b(n-),c(n-2),d(n-),t(n),u(n),h(0:n- ),df(0:n-),y(0:n)) if (status/=0) Stop 'Not enough memory'! Σημεία παρεμβολής x(:)=(/0,400,800,500,200,2500,3000,3500,4000,4600,500,5300,5500,6000/)! Τιμές της f στα σημεία παρεμβολής f(:)=(/32.0,76.0,296.4,405.7,509.0,608.4,704.7,799.0,89.9,983.0,072.6,25.7,6,247.5/)! Τα σημεία στα οποία ζητάμε τις τιμές της συνάρτησης xx(:)=(/300,600,3200,5900/) print*, '----------SPLINES----------'! Υπολογισμός των h i και df i do i=0,n- h(i)=x(i+)-x(i) df(i)=f(i+)-f(i)! Επίλυση του γραμμικού συστήματος με τον Αλγόριθμο Thomas do i=2,n- A(i)=h(i-) 4
do i=,n-2 C(i)=h(i) do i=,n- B(i)=2*(h(i-)+h(i)) do i=,n- D(i)=6*(df(i)/h(i)-df(i-)/h(i-)) print*, '-------------' t()=b() u()=d()/t() do i=2,n- t(i)=b(i)-a(i)*c(i-)/t(i-) u(i)=(d(i)-a(i)*u(i-))/t(i)! Οι δεύτερες παράγωγοι του y y(n-)=u(n-) do i=n-2,,- y(i)=u(i)-c(i)/t(i)*y(i+) y(0)=0 y(n)=0 print*,y(:)! Τέλος Thomas do k=,4!εύρεση του διαστήματος παρεμβολής στο οποίο ανήκει το σημείο xx(k) i=0 do while (xx(k)>x(i)) i=i+ j=i-!ειδική περίπτωση που το xx(k) είναι ίσο με το x 0 if (xx(k)==x(0)) then j=0 end if!υπολογισμός της τιμής του Sj(x) στο σημείο xx(k) if (j>=0.and. j<=n) then yy(k)= y(j)/(6*h(j)) * (x(j+)-xx(k))**3 + y(j+)/(6*h(j)) * (xx(k)-x(j))**3 + (f(j+)/h(j) - y(j+)*h(j)/6)*(xx(k)-x(j))+(f(j)/h(j)- y(j)*h(j)/6)*(x(j+)-xx(k)) end if 5
end print*,yy(:) To αποτέλεσμα του προγράμματος είναι το εξής: Οι τιμές των δευτέρων παραγώγων του y i i=0,,,3 : 0 -.249208354438E-004-4.004033963400609E-004 8.600649508533359E-005 2.546803909589E-004-2.57409094346695E-004 5.22762652680E-005 8.98640824974587E-007-8.9322970435770E-005 -.29050067087799E-005 4.923674883234024E-004-8.25320987522477E-004.08899272324639E-004 0 x i 300 4.0600555785 600 49.26632056898 3200 74.573384550238 5900 229.2888602777 f i δ) Το πρόγραμμα της μεθόδου Ελαχίστων Τετραγώνων (για πολυώνυμο 3 ου βαθμού) σε Fortran είναι το ακόλουθο: program least_squares implicit none doubleprecision,allocatable::c(:,:),a(:),x(:),y(:) integer,allocatable::tx(:) integer::n=3,nn=4 integer::i,j,status doubleprecision::sx,sx2,sx3,sx4,sy,sxy,sx2y,a0,a,a2,xx(4),yy(4) allocate(c(n,n+),a(n),x(nn),y(nn),tx(n)) if (status/=0) Stop 'Not enough memory'! Σημεία παρεμβολής x(:)=(/0,400,800,500,200,2500,3000,3500,4000,4600,500,5300,5500,6000/)! Τιμές της f στα σημεία παρεμβολής y(:)=(/32.0,76.0,296.4,405.7,509.0,608.4,704.7,799.0,89.9,983.0,072.6,25.7,6,247.5/)! Τα σημεία στα οποία ζητάμε τις τιμές της συνάρτησης xx(:)=(/300,600,3200,5900/)!υπολογισμός των αθροισμάτων που χρειαζόμαστε sx=0 sx2=0 sx3=0 sx4=0 sy=0 sxy=0 sx2y=0 do i=,4 6
sx=sx+x(i) sx2=sx2+x(i)**2 sx3=sx3+x(i)**3 sx4=sx4+x(i)**4 sy=sy+y(i) sxy=sxy+x(i)*y(i) sx2y=sx2y+(x(i)**2)*y(i) print*,sx,sx2,sx3,sx4,sy,sxy,sx2y! Δημιουργία του πίνακα συντελεστών του γραμμικού συστήματος το οποίο πρέπει να επιλύσουμε: c x = b. H επίλυση θα γίνει με τη μέθοδο Gauss γι αυτό η 4 η στήλη του πίνακα c περιέχει το διάνυσμα b c(,)=nn c(,2)=sx c(,3)=sx2 c(,4)=sy c(2,:)=(/sx,sx2,sx3,sxy/) c(3,:)=(/sx2,sx3,sx4,sx2y/)! Καλούμε τη διαδικασία Gauss (με πλήρη οδήγηση) call Gauss(n,c,a,tx)! Παίρνουμε την λύση του συστήματος a0,a,a2 do j=,n if (tx(j)==) then a0=a(j) elseif (tx(j)==2) then a=a(j) elseif (tx(j)==3) then a2=a(j) end if print*, a0,a,a2!υπολογισμός της τιμής του πολυωνύμου παρεμβολής στα σημεία xx(i) do i=,4 yy(i)=a0+a*xx(i)+a2*xx(i)**2 print*, yy(:) contains subroutine Gauss(n,a,x,tx) integer,intent(in) :: n doubleprecision, INTENT(INOUT) ::a(n,n+) doubleprecision, INTENT(OUT) ::x(n) integer, INTENT(OUT)::tx(n) integer :: i,j,k,maxi,maxj,t real::tt,pivot,s,max,temp do i=,n 7
TX(i)=i! call print_table k= do while (k<=n)!find pivot Full Pivoting max=a(k,k) maxi=k maxj=k do i=k,n do j=k,n if (abs(a(i,j))>abs(max)) then max=a(i,j) maxi=i maxj=j endif if (maxi/=k) then do j=,n+ temp=a(k,j) a(k,j)=a(maxi,j) a(maxi,j)=temp endif if (maxj/=k) then do i=,n temp=a(i,k) a(i,k)=a(i,maxj) a(i,maxj)=temp t=tx(k) TX(k)=TX(maxj) TX(maxj)=t endif pivot=max! end find pivot if (pivot==0) then print*, 'Pivot = 0. Gauss elimination can not continue' stop endif do j=k,n+ a(k,j)=a(k,j)/pivot do i=k+,n tt=a(i,k) do j=k,n+ a(i,j)=a(i,j)-a(k,j)*tt 8
!call print_table! read* k=k+ x(n)=a(n,n+) do i=n-,,- s=0 do j=i+,n s=s+a(i,j)*x(j) x(i)=a(i,n+)-s end end subroutine Gauss Το αποτέλεσμα του παραπάνω προγράμματος είναι το ακόλουθο: sx sx2 sx3 sx4 sy sxy sx2y 44300 92470000 92395000000 4.675447E+05 002.700042 7246 48840.09 3994 97922040 47.095 a0 a a2 73.032589307726 2679893957703-5.49663688696277E-006 x i 300 4482498326 600 42.9059634435 3200 742.574279480773 5900 29.87902747273 f i Το πρόγραμμα της μεθόδου Ελαχίστων Τετραγώνων (για πολυώνυμο 3 ου βαθμού) σε Mathematica είναι το ακόλουθο: Καθορισμός των δεδομένων data={{0,32}, {400,76}, {800,296.4}, {500,405.7}, {200,509}, {2500,608.4}, {3000,704.7}, {3500,799}, {4000,89.9}, {4600,983}, {500,072.6}, 9
{5300,25.7}, {5500,6}, {6000,247.5}}; Αναστρέφουμε τον πίνακα (Χρειάζεται για τις παρακάτω ενέργειες) datat=transpose[data]; Βρίσκουμε το πλήθος των σημείων παρεμβολής n=length[data]; xi sx=, sy= yi {sx,sy}=apply[plus,datat,{}]; 2 3 4 x sx2= i x, sx2= i x, sx2= i {sx2,sx3,sx4} = Table[Apply[Plus,dataT^i,{}][[]],{i,2,4}]; 2, sx2y = xi y sxy=apply[plus,datat[[]] datat[[2]]]; sx2y=apply[plus,datat[[]]^2 datat[[2]]]; xiyi sxy= Συντελεστές του γραμμικού συστήματος το οποίο πρέπει να επιλύσουμε: d.a = b d=table[0,{i,3},{j,3}]; d[[,]]=n; d[[,2]]=sx; d[[,3]]=sx2; d[[2,]]=sx; d[[2,2]]=sx2; d[[2,3]]=sx3; d[[3,]]=sx2; d[[3,2]]=sx3; d[[3,3]]=sx4; d 4 44300 92470000 44300 92470000 92395000000 92470000 92395000000 467544700000000 Κατασκευή του διανύσματος b b=table[0,{i,3}]; b[[]]=sy; b[[2]]=sxy; b[[3]]=sx2y; b//matrixform 002.7 4.88μ0 7.97922μ0 Δημιουργία του γραμμικού συστήματος 0
a0 0 0 g d. 0 d. a d. 0 b 0 0 a2 4a0+ 44300a + 92470000a2-002.7 44300a0 +92470000a + 92395000000a2-4.88 μ0 7 92470000a0 + 92395000000a+ 467544700000000a2 -.97922μ0 Επίλυση του γραμμικού συστήματος ως προς a0,a,a2 Solve[{g[[]]==0,g[[2]]==0,g[[3]]==0},{a0,a,a2}] a0 Ø 73.03, a Ø 26799, a2 Ø-5.49666 μ0-6 Αφαίρεση του εσωτερικού επιπέδου της προηγούμενης λίστας Flatten[%] a0 Ø 73.03, a Ø 26799, a2 Ø-5.49666 μ0-6 Απαλλασσόμαστε από τα βέλη των κανόνων αντικατάστασης a={a0,a,a2}/.% 73.03, 26799, -5.49666 μ0-6 Τελικά παίρνουμε το πολυώνυμο παρεμβολής 3ου βαθμού yx_ a a2 x a3 x 2-5.49666μ0-6 x 2 + 26799x+ 73.03 ( Βέβαια στη Mathematica όλα τα παραπάνω βήματα συνοψίζονται στην ακόλουθη εντολή: yx_ Fitdata,, x, x 2,x -5.49666μ0-6 x 2 + 26799x+ 73.03 Η οποία δίνει απ ευθείας το πολυώνυμο παρεμβολής με τη μέθοδο των ελαχίστων τετραγώνων!!! ) Γραφική παράσταση των σημείων παρεμβολής g=listplot[data] 200 000 800 600 400 200 000 2000 3000 4000 5000 6000 Γραφική παράσταση του πολυωνύμου παρεμβολής gg=plot[y[x],{x,0,6000}]
200 000 800 600 400 200 000 2000 3000 4000 5000 6000 Συνδιασμός των δύο προηγούμενων γραφημάτων Show[g,gg] 200 000 800 600 400 200 000 2000 3000 4000 5000 6000 Τέλος παίρνουμε τις τιμές του πολυωνύμου παρεμβολής στα ζητούμενα σημεία: y[{300,600,3200,5900}] {448,42.9,742.574,29.88} Σύγκριση μεθόδων Αποτελέσματα x i Newton, Lagrance Κυβικές Splines Ελάχιστα Τετράγωνα 300 226.846684872646 4.0600555785 4482498326 600 4.84649449 49.26632056898 42.9059634435 3200 74.646728765067 74.573384550238 742.574279480773 5900 0.9462922550 229.2888602777 29.87902747273 2
Απόλυτη διαφορά με πραγματική τιμή x i Newton, Lagrance Κυβικές Splines Ελάχιστα Τετράγωνα 300 04.44668 8.66005 8.24824 600 36.4584 28.47337 25.68985 3200 9.75328 9.82662 8.82573 5900 9.3538.02 2 Παρατηρούμε ότι: α) Η μέθοδος Lagrance δίνει το ίδιο αποτέλεσμα με τη μέθοδο Newton. Αυτό συμβαίνει γιατί το πολυώνυμο παρεμβολής είναι μοναδικό και χρησιμοποιήσαμε τον ίδιο αριθμό σημείων παρεμβολής και στις δύο μεθόδους. β) Η μέθοδος Κυβικών Splines δίνει καλύτερα αποτελέσματα από τις Newton και Lagrange. γ) H μέθοδος Ελαχίστων Τετραγώνων (στο συγκεκριμένο παράδειγμα) δίνει γενικά την καλύτερη προσέγγιση από όλες τις άλλες μεθόδους, εκτός από την τελευταία τιμή όπου καλύτερη προσέγγιση δίνει η μέθοδος Κυβικών Splines 3
Άσκηση 2 (Προαιρετική) Να βρεθεί η συνάρτηση που προσεγγίζει την yx ( ) µε τον καλύτερο δυνατόν 2 25x τρόπο. Απάντηση Είναι γνωστό (Ακρίβης & Δουγαλής, σελ. 77) ότι η συνάρτηση Runge yx ( ) προσεγγίζεται καλύτερα επιλέγοντας σαν σημεία παρεμβολής τις ρίζες 2 25x των πολυωνύμων Chebyshev. (2k ) Με βάση τον τύπο xk Cos( ), k 0,,..., n βρίσκουμε τις ρίζες του 2n πολυωνύμου Chebyshev n-οστού βαθμού και χρησιμοποιούμε τις ρίζες αυτές σαν σημεία παρεμβολής. Για να βρούμε το πολυώνυμο παρεμβολής χρησιμοποιώντας την παρεμβολή Chebyshev δηλαδή το ανάπτυγμα: n f ( x) at i i( x) i0 όπου τα Τ ι (x) είναι τα πολυώνυμα Chebyshev και α ι οι άγνωστοι συντελεστές που υπολογίζονται εφαρμόζοντας το παραπάνω ανάπτυγμα στα σημεία παρεμβολής και λύνοντας το προκύπτον γραμμικό αλγεβρικό σύστημα με απαλοιφή Gauss. Το πρόγραμμα σε Mathematica είναι το ακόλουθο: Αναδρομικός Ορισμός Πολυωνύμων Chebyshev T[0,x_]=; T[,x_]=x; T[n_,x_]:=2x T[n-,x]-T[n-2,x]; Καθορισμός του n (περιττός, για να δώσει τιμές συμμετρικές του μηδενός μαζί με το μηδέν) και εύρεση λύσεων του πολυωνύμου n βαθμού (b) n 5; b TableCos2k Pi, k, 0, n N; 2n Ταξινομούμε τις λύσεις b=sort[%] {-0.95057,-0.587785,0.,0.587785,0.95057} Ο πίνακας c χρησιμοποιείται για το γράφημα gg παρακάτω c=table[{b[[i]],0},{i,n}] 4
-0.95057 0-0.587785 0 0. 0 0.587785 0 0.95057 0 Ορίζουμε τη συνάρτηση Runge yx_ : 25 x 2 Οι τιμές της στα σημεία παρεμβολής είναι: y[b] {0.042350,0.03764,.,0.03764,0.042350} Δημιουργούμε τον πίνακα d με τα ζεύγη (x,y) d=table[{b[[i]],y[b][[i]]},{i,n}] -0.95057 0.042350-0.587785 0.03764 0.. 0.587785 0.03764 0.95057 0.042350 Δημιουργούμε το γράφημα των παραπάνω ζευγών g=listplot[d,plotstyle->pointsize[0.02]] -0.75-0.5-5 5 0.5 0.75 Εμφανίζουμε τα σημεία παρεμβολής gg=listplot[c,plotstyle->pointsize[0.02]] 0.5-0.75-0.5-5 5 0.5 0.75-0.5 Σχεδιάζουμε τη συνάρτηση Runge ggg=plot[y[x],{x,-,}] - 5
- -0.5 0.5 Συνδιάζουμε τα προηγούμενα γραφήματα σε ένα Show[g,gg,ggg,PlotRange->All] - -0.5 0.5 Δημιουργούμε μία λίστα με τα πολυώνυμα Chebyshev μέχρι n βαθμού Tlist=Table[T[i,x],{i,0,n}]//Simplify, x, 2x 2 -, x4x 2-3, 8x 4-8x 2 +, x6x 4-20x 2 + 5 Βρίσκουμε τις τιμές τους στα σημεία παρεμβολής δημιουργώντας ένα πίνακα aa=table[tlist/.x->b]; H πρώτη γραμμή του πίνακα περιέχει μόνο ένα στοιχείο και το διορθώνουμε aa[[]]=table[,{n}]; Πρέπει να πάρουμε τον ανάστροφο του aa aa=transpose[aa] -0.95057 0907-0.587785 0.30907 0. -0.587785-0.30907 0.95057-0907 -2.6029 μ0-6 0. -. 0.. 0. 0.587785-0.30907-0.95057-0907 2.6029 μ0-6 0.95057 0907 0.587785 0.30907 0. Λύνουμε το γραμμικό σύστημα και παίρνουμε τις σταθερές a i s=linearsolve[aa,y[b]] 58445, -3.49655 μ0-7, -0.398242, -9.90554 μ0-7, 0.34332, 2.59278 μ0-32 To πολυώνυμο παρεμβολής προκύπτει αν πολλαπλασιάσουμε τα πολυώνυμα στη λίστα Tlist με τις σταθερές ai (δηλ. το s) και στη συνέχεια αθροίσουμε τα γινόμενα pol=apply[plus,tlist s]//expandall 4.4845 μ0-3 x 5 + 2.7465x 4-3.96222 μ0-6 x 3-3.54298x 2 + 2.6220μ0-6 x+. 6
Σχεδιάζουμε το πολυώνυμο παρεμβολής gggg=plot[pol,{x,-,},plotstyle->rgbcolor[,0,0]] - -0.5 0.5 Τέλος δείχνουμε όλα τα γραφήματα μαζί Show[g,gg,ggg,gggg,PlotRange->All] - -0.5 0.5 Στη συνέχεια συνοψίζουμε, για διάφορες τιμές του n, τα αποτελέσματα (αναλυτική έκφραση του πολυωνύμου παρεμβολής και το αντίστοιχο γράφημα): 7
n=3.57902 μ0-3 x 3 -.26582x 2 -.6647 μ0-6 x +. - -0.5 0.5 - n=5 4.4845 μ0-3 x 5 + 2.7465x 4-3.96222 μ0-6 x 3-3.54298x 2 + 2.6220μ0-6 x+. - -0.5 0.5 8
n=7.24479 μ0-5 x 7-6.7968x 6-3.06656 μ0-5 x 5 + 2.57x 4 +2.83779μ0-5 x 3-6.429x 2-7.22485 μ0-6 x +. - -0.5 0.5 n=9 -.23634μ0-4 x 9 + 7.6203x 8-3.7273μ0-5 x 7-40.3504x 6 + 3.05956μ0-4 x 5 + 3.3482x 4 -.90737μ0-4 x 3-9.5343x 2 + 2.57683μ0-5 x+. - -0.5 0.5 9
n= -.60993μ0-3 x - 46.6329x 0 +5.7285μ0-3 x 9 + 30.06x 8-7.39439μ0-3 x 7-33.445x 6 + 4.74μ0-3 x 5 + 6.443x 4-9.44849μ0-4 x 3-2.4765x 2 + 5.756μ0-5 x+. - -0.5 0.5 n=3 3.66895μ0 - x 3 + 24.49x 2 -.2356μ0-0 x - 409.573x 0 +.5947μ0-0 x 9 +522.25x 8-9.83278μ0 - x 7-324.33x 6 + 2.9324μ0 - x 5 + 78x 4-3.72858μ0-2 x 3-5.222x 2 +.34458μ0-3 x+. - -0.5 0.5 20
n=5 6.6908 μ0 - x 5-333.69x 4-2.9242 μ0-0 x 3 + 264.42x 2 + 3.07603 μ0-0 x - 927.8x 0-2.6365μ0-0 x 9 + 5x 8 + 8.0429μ0 - x 7-646.864x 6 -.50095 μ0 - x 5 + 49.027x 4 +.2089 μ0-2 x 3-7.364x 2-2.675 μ0-4 x +. - -0.5 0.5 n=2-6.43357μ0-6 x 2 + 6466.55x 20 +0.0000337886x 9-34208.x 8-0.0000760526x 7 + 77754.5x 6 + 0.0000958055x 5-99300.x 4-0.0000739947x 3 +78236.3x 2 + 0.0000360854x - 39333.3x 0-0.00000299x 9 + 2635.6x 8 + 2.02652μ0-6 x 7-2537.27x 6-2.04652μ0-7 x 5 + 306.629x 4 + 9.47622μ0-9 x 3-2.7623x 2 -.29229μ0-0 x+. - -0.5 0.5 2
n=27 0.0625844x 27-25608. x 26-2273x 25 + 85288. x 24 +.26573x 23-2.57769 μ0 6 x 22-2.22249x 2 + 4.57202 μ0 6 x 20 + 2.535x 9-5.28327 μ0 6 x 8 -.96943x 7 + 4.7573μ0 6 x 6 +.06236x 5-2.30654 μ0 6 x 4-0.39822x 3 + 894580. x 2 + 0.0235x - 2464. x 0-0.073322x 9 +4460.7x 8 + 0.0083472x 7-5484.49x 6-0.00009437x 5 + 442x 4 + 3.03956 μ0-6 x 3-23.7366x 2-2.5050 μ0-8 x+. - -0.5 0.5 22
n=3 4.39865x 3-907760.x 30-34.076x 29 +7.0745μ0 6 x 28 +9.44x 27-2.49059μ0 7 x 26-249.682x 25 + 5.24407μ0 7 x 24 +346.968x 23-7.35483μ0 7 x 22-337.803x 2 +7.24689μ0 7 x 20 +236.58x 9-5.5677μ0 7 x 8-26x 7 + 2.6837μ0 7 x 6 +44.5373x 5 -.0227μ0 7 x 4 -.838x 3 +2.8362μ0 6 x 2 +2.9475x -564202.x 0-74423x 9 + 7892.2x 8 +0.0267x 7-7604.7x 6-0.00097254x 5 +503.788x 4 +0.0000204338x 3-24.3448x 2 -.2777μ0-7 x+. - -0.5 0.5 Παρατηρούμε ότι για n ίσο με 3 ή μεγαλύτερο έχουμε μια πολύ καλή προσέγγιση της αρχικής συνάρτησης! 23