### 1.22.1 Συντελεστές `Fourier` : `fourier_an` και `fourier_bn` ή `fourier_cn`

Έστω f μια T-περιοδική συνάρτηση στο ℝ η οποία είναι συνεχής εκτός ίσως από ένα πεπερασμένο αριθμό σημείων. Μπορεί να αποδειχθεί ότι εάν η f είναι συνεχής στο x, τότε :

f(x) | = |
a0
2
| + |
+∞
∑
n=1
| an cos( |
2π nx
T
| )+bn sin( |
2π nx
T
| )
| = |
+∞
∑
n=−∞
| cn e |
2iπ nx
T

όπου οι συντελεστές an, bn, n∈ N, (ή cn, n ∈ Z) είναι οι συντελεστές `Fourier` της f. Η εντολή `fourier_an` και `fourier_bn` ή `fourier_cn` υπολογίζει αυτούς τους συντελεστές.

#### `fourier_an`

`fourier_an` παίρνει 4 η 5 ορίσματα : μια παράσταση expr που εξαρτάται από μια μεταβλητή, το όνομα της μεταβλητής (για παράδειγμα x), την περίοδο T, έναν ακέραιο n και έναν πραγματικό a (ως προεπιλογή a=0).
`fourier_an(expr,x,T,n,a)` επιστρέφει τον συντελεστή Fourier an μιας συνάρτησης f μεταβλητής x που ορίζεται στο [a,a+T[ από f(x)=expr και τέτοια ώστε f να είναι περιοδική με περίοδο T:

an= |
2
T
| ∫ |
a+T
a
| f(x)cos( |
2π nx
T
| )dx

Για να απλοποιήσουμε τους υπολογισμούς, μπορούμε να εισάγουμε `assume(n,integer)` πριν καλέσουμε την `fourier_an` για να βεβαιώσουμε ότι ο n είναι ένας ακέραιος.
Παράδειγμα : Έστω η συνάρτηση f, με περίοδο T=2, που ορίζεται στο [−1,1[ από την f(x)=x2.
Για να υπολογίσουμε τον συντελεστή a0 εισάγουμε:

`fourier_an(x```^```2,x,2,0,-1)`

Έξοδος :

`1/3`

Για τον συντελεστή an (n≠ 0) εισάγουμε:

`assume(n,integer);fourier_an(x```^```2,x,2,n,-1)`

Έξοδος :

`4*(-1)```^```n/(pi```^```2*n```^```2)`

#### `fourier_bn`

`fourier_bn` παίρνει 4 ή 5 ορίσματα : μια παράσταση expr που εξαρτάται από μια μεταβήτή, το όνομα της μεταβλητής (για παράδειγμα x), την περίοδο T, έναν ακέραιο n και έναν πραγματικό a (απο προεπιλογή a=0).
`fourier_bn(expr,x,T,n,a)` επιστρέφει τον συντελεστή Fourier bn μιας συνάρτησης f μεταβλητής x που ορίζεται στο [a,a+T[ από f(x)=expr και περιοδική με περίοδο T:

bn= |
2
T
| ∫ |
a+T
a
| f(x)sin( |
2π nx
T
| )dx

Για να απλοποιήσουμε τους υπολογισμούς, μπορούμε να εισάγουμε `assume(n,integer)` πριν καλέσουμε την `fourier_bn` για να βεβαιώσουμε ότι ο n είναι ένας ακέραιος.
Παραδείγματα

- Έστω η συνάρτηση f, περιόδου T=2, ορισμένη στο [−1,1[ από την f(x)=x2.
  Για τον συντελεστή bn (n≠ 0) εισάγετε :
  `assume(n,integer);fourier_bn(x```^```2,x,2,n,-1)`
  Έξοδος :
  `0`
- Έστω η συνάρτηση f, περιόδου T=2, ορισμένη στο [−1,1[ από την f(x)=x3.
  Για τον συντελεστή b1 εισάγετε :
  `fourier_bn(x```^```3,x,2,1,-1)`
  Έξοδος :
  `(2*pi```^```2-12)/pi```^```3`

#### `fourier_cn`

`fourier_cn` παίρνει 4 ή 5 ορίσματα : μια παράσταση expr που εξαρτάται από μια μεταβήτή, το όνομα της μεταβλητής (για παράδειγμα x), την περίοδο T, έναν ακέραιο n και έναν πραγματικό a (από προεπιλογή a=0).
`fourier_cn(expr,x,T,n,a)` επιστρέφει τον συντελεστή Fourier cn μιας συνάρτησης f μεταβλητής x ορισμένης στο [a,a+T[ από την f(x)=expr και περιοδική με περίοδο T:

cn= |
1
T
| ∫ |
a+T
a
| f(x)e |
−2iπ nx
T
| dx

Για να απλοποιήσουμε τους υπολογισμούς, μπορούμε να εισάγουμε την `assume(n,integer)` πριν να καλέσουμε την `fourier_cn` για να βεβαιώσουμε ότι ο n είναι ένας ακέραιος.
Παραδείγματα

- Βρείτε τους συντελεστές `Fourier``` `c``n` της περιοδικής συνάρτησης f περιόδου 2 και ορισμένης στο [−1,1[ ως f(x)=x2.
  Εισάγετε, για να πάρετε c0 :
  `fourier_cn(x```^```2,x,2,0,-1)`
  Έξοδος:
  `1/3`
  Εισάγετε, για να πάρετε cn :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2,n,-1)`
  Έξοδος:
  `2*(-1)```^```n/(pi```^```2*n```^```2)`
- Βρείτε τους συντελεστές `Fourier``` `c``n` της περιοδικής συνάρτησης f, περιόδου 2, και ορισμένης στο [0,2[ ως f(x)=x2.
  Εισάγετε, για να πάρετε c0 :
  `fourier_cn(x```^```2,x,2,0)`
  Έξοδος:
  `4/3`
  Εισάγετε, για να πάρετε cn :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2,n)`
  Έξοδος:
  `((2*i)*pi*n+2)/(pi```^```2*n```^```2)`
- Βρείτε τους συντελεστές `Fourier` cn της περιοδικής συνάρτησης f περιόδου 2.π και ορισμένης στο [0,2.π[ ως f(x)=x2.
  Είσοδος :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2*pi,n)`
  Έξοδος :
  `((2*i)*pi*n+2)/n```^```2`
  Αν δεν βεβαιώσετε ότι n είναι ακέραιος με την εντολή `assume(n,integer)`, το αποτέλεσμα δεν θα μπορεί να απλοποιηθεί :
  `((2*i)*pi```^```2*n```^```2*exp((-i)*n*2*pi)+2*pi*n*exp((-i)*n*2*pi)+`
  `(-i)*exp((-i)*n*2*pi)+i)/(pi*n```^```3)`
  Θα μπορούσαμε να απλοποιήσουε αυτήν την παράσταση αντικαθιστώντας το `exp((-i)*n*2*pi)` με `1`, Εισαγωγή :
  `subst(ans(),exp((-i)*n*2*pi)=1)`
  Έξοδος :
  `((2*i)*pi```^```2*n```^```2+2*pi*n+-i+i)/pi/n```^```3`
  Αυτή η παράσταση απλοποιείται τότε με την `normal`, και το τελικό αποτέλεσμα είναι :
  `((2*i)*pi*n+2)/n```^```2`
  Επομένως, για n ≠ 0, cn=2inπ+2/n2. Όπως φαίνεται σε αυτό το παράδειγμα, ειναι προτιμότερο να εισάγουμε `assume(n,integer)` πριν καλέσουμε `fourier_cn`.
  Πρέπει να υπολογίσουμε επίσης cn για n=0, εισάγουμε :
  `fourier_cn(x```^```2,x,2*pi,0)`
  Έξοδος :
  `4*pi```^```2/3`
  Επομένως, για n= 0, c0=4.π2/3.

Σχόλια :

- Εισάγουμε `purge(n)` για να άρουμε την υπόθεση που έγινε για το n.
- Εισάγουμε `about(n)` ή `assume(n)`, για να μάθουμε ποια υπόθεση έγινε για το n.