Fourier series of a 2step function?
- Subject: Fourier series of a 2step function?
- From: Edwin Woollett
- Date: Thu, 18 Sep 2008 09:01:21 -0700
On Sept. 17, Edwin Woollett wrote:
>(%i7) bn : ( (1/10)*(integrate( -5*sin(n*%pi*x/10), x, -5, 0 ) +
> integrate( 5*sin(n*%pi*x/10), x, 0, 5 ) ),
> ratsimp(%%) );
>(%o7) -( 10*cos(%pi*n/2) - 10 )/(%pi*n)
>/* get a Maxima function using expressions bn */
>(%i8) define( b(n), bn );
>(%o8) b(n) := -( 10*cos(%pi*n/2) - 10 )/(%pi*n)
>
>/* what are the first seven coefficients? */
>
>(%i9) (bnlist : [], for i thru 7 do bnlist : cons( b(i), bnlist ),
> reverse( bnlist ) );
>(%o9) [ 10/%pi, 10/%pi, 10/(3*%pi), 0,
> 2/%pi, 10/(3*%pi), 10/(7*%pi) ]
>
getting that list of b(n) values was too complicated!!
Just use map and makelist:
(%i9) map( 'b, makelist( i, i, 1, 7 ) );
(%o9) [10/%pi, 10/%pi, 10/(3*%pi),
0, 2/%pi, 10/(3*%pi), 10/(7*%pi) ]
Likewise with fs(nmax):
(%i10) fs(nmax) := sum( b(m)*sin(m*%pi*x/10), m, 1, nmax )$
(%i11) map( 'fs, [ 1, 2, 3 ] );
(%o11) [ 10*sin(%pi*x/10)/%pi,
10*sin(%pi*x/5)/%pi + 10*sin(%pi*x/10)/%pi,
10*sin(3*%pi*x/10)/(3*%pi) + 10*sin(%pi*x/5)/%pi +
10*sin(%pi*x/10)/%pi ]
Ted Woollett