load("glib")$ def fourier(N) { glib_open(); glib_window(-5,-5,5,5); glib_clear(); F = 0; for (I=1; I<=N; I++) { F=F+(-1)^(I+1)*sin(I*x)/I; } F = 2*F; print("x の Fourier 展開 :",0); print(N,0); print(" 次までは "); glib_line(-5,0,5,0); glib_line(0,-5,0,5); glib_line(eval(-@pi),eval(-@pi), eval(-@pi),eval(@pi)); glib_line(eval(@pi),eval(-@pi), eval(@pi),eval(@pi)); print(F); for (K=-5; K<=5; K = K+0.03) { glib_putpixel(K,deval(subst(F,x,K))); } glib_flush(); } print("Type in, for example, fourier(4); fourier(10);")$ end$