Maxima:フーリエ級数
Xmaxima:console版で実行しています。
フーリエ級数は簡単に求めることができます。
load(fourie);・・・これを始めに1回実行します。
load(fourie);のfourie”r”は無いので注意が必要です。
totalfourier(x,x,%pi);
と入力すると、関数$y=x$の$-\pi$~$\pi$までのフーリエ級数を表示してくれます。
$a_0=0$
$a_n=0$
$b_n=-\dfrac{2(-1)^n}{n}$
$-2\displaystyle \sum _{n=1}^{\infty} \dfrac{(-1)^n \sin(nx)}{n}$
と答えが、得られます。
また、
foursimp(fourier(x,x,%pi));
fourexpand(%,x,%pi,5);
と入力すると$n=1$~$5$まで出力します。
$\displaystyle{{{2\,\sin \left(5\,x\right)}\over{5}}-{{\sin \left(4\,x\right)
}\over{2}}+{{2\,\sin \left(3\,x\right)}\over{3}}-\sin \left(2\,x
\right)+2\,\sin x}$
また、線を描きたいときは次のように記述すると、元の関数と重ねて表示できます。
plot2d([x, fourexpand(foursimp(fourier(x,x,%pi)),x,%pi,10)], [x,-%pi,%pi], [y,-%pi,%pi]);
load(abs_integrate);・・・絶対値関数を計算するライブラリを読み込む
f(x):= unit_step(x);・・・ステップ入力
plot2d([f(x), fourexpand(foursimp(fourier(f(x),x,%pi)),x,%pi,10)], [x,-%pi,%pi], [y,-0.5,1.5]);