このディレクトリの索引

#  [1] 授業単元: 音響工学
#  [2] 問題文(含コード&リンク):
#   正弦波に対してガウス窓を掛け、テキストファイルに出力せよ。窓間は任意。 

f(X,Y) :- Y is sin(X) * exp( (-1) * X * X / 0.03 * 0.03).

正弦波に対してガウス窓を掛ける :-
        S is (-1) * pi,
        正弦波に対してガウス窓を掛ける(S,pi,0.01,L),
        表示する(L).
        
正弦波に対してガウス窓を掛ける(V,Max,_,[]) :-
        V >= Max,!.
正弦波に対してガウス窓を掛ける(V,Max,H,[[V,Y]|R]) :-
        f(V,Y),
        V2 is V + H,
        正弦波に対してガウス窓を掛ける(V2,Max,H,R).

表示する(L) :-
        append(_,[[V,Y]|R],L),
        writef('%t,%t\n',[V,Y]),
        R = [].