1.22.5 Μια άσκηση με fft
Στον ακόλουθο πίνακα είναι οι θερμοκρασίες T, σε βαθμούς
Celsius, την χρονική στιγμή t :
t | 0 | 3 | 6 | 9 | 12 | 15 | 19 | 21 |
T | 11 | 10 | 17 | 24 | 32 | 26 | 23 | 19 |
Ποια ήταν η θερμοκρασία στις 13:45 ?
Εδώ N=8=2*m. Το πολυώνυμο παρεμβολής είναι :
p(t)= | | p−m(exp(−2i | | )+
exp(2i | | ))+
| | pk exp(2i | | ) |
και
Είσοδος :
q:=1/8*fft([11,10,17,24,32,26,23,19])
Έξοδος :
q:=[20.25,-4.48115530061+1.72227182413*i,-0.375+0.875*i,
-0.768844699385+0.222271824132*i,0.5,
-0.768844699385-0.222271824132*i,
-0.375-0.875*i,-4.48115530061-1.72227182413*i]
Επομένως, :
-
p0=20.25
- p1=−4.48115530061+1.72227182413*i=p−1,
- p2=0.375+0.875*i=p−2,
- p3=−0.768844699385+0.222271824132*i=p−3,
- p−4=0.5
Πράγματι,
q=[q0,...qN−1]=[p0,..p | | ,p | | ,..,p−1]= | | FN([y0,..yN−1])= | | |
Είσοδος :
pp:=[q[4],q[5],q[6],q[7],q[0],q[1],q[2],q[3]]
Εδώ, pk=pp[k+4] για k=−4...3.
Απομένει να υπολογίσουμε την τιμή του πολυωνύμου παρεμβολής στο σημείο
t0=13,75=55/4, εισάγουμε
t0(j):=exp(2*i*pi*(13+3/4)/24*j)
T0:=1/2*pp[0]*(t0(4)+t0(-4))+sum(pp[j+4]*t0(j),j,-3,3)
evalf(re(T0))
Έξοδος :
29.4863181684
Η θερμοκρασία υπολογίζεται ίση με 29.49 βαθμούς
Celsius.
Είσοδος :
q1:=[q[4]/2,q[3],q[2],q[1],q[0]/2]
a:=t0(1) (ή
a:=-exp(i*pi*7/48))
g(x):=r2e(q1,x)
evalf(2*re(g(a)))
ή
2.0*re(q[0]/2+q[1]*t0(1)+q[2]*t0(2)+q[3]*t0(3)+q[4]/2*t0(4))
Έξοδος :
29.4863181684
Σχόλιο
Χρησιμοποιώντας το πολυώνυμο παρεμβολής
Lagrange (το πολυώνυμο δεν είναι περιοδικό),
εισάγουμε :
l1:=[0,3,6,9,12,15,18,21]
l2:=[11,10,17,24,32,26,23,19]
subst(lagrange(l1,l2,13+3/4),x=13+3/4)
Έξοδος :
8632428959/286654464≃ 30.1144061688