このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1291471791/956
#  【質問テンプレ】  
#  [1] 授業単元:画像処理学  
#  [2] 問題文(含コード&リンク):  
#    指定されたエクセルファイルの中にあるデータを読み込み  
#    各列ごとにそれぞれのデータに対し[0,1]区間に正規化し 
#    別のエクセルファイルとして出力せよ.  
#  

'指定されたエクセルファイルの中にあるデータを読み込み各列ごとにそれぞれのデータに対し[0,1]区間に正規化し別のエクセルファイルとして出力せよ.'(_指定されたCSVファイル,_別のCSVファイル) :-
        get_split_lines(_指定されたCSVファイル,[' ',','],LL),
        転置(LL,LL1),
        行単位に正規化(LL1,LL2),
        転置(LL2,LL3),
        csvファイルとして出力する(_別のcsvファイル,LL3).

行単位に正規化([],[]) :- !.
行単位に正規化([L1|R1],[L2|R2]) :-
        相加平均(L1,_相加平均),
        標準偏差(L1,_標準偏差),
        正規化(L1,_相加平均,_標準偏差,L2),
        行単位に正規化(R1,R2).

正規化([],_,_,[]) :- !.
正規化([A|R1],_相加平均,_標準偏差,[B|R2]) :-
        B is (_相加平均 - A) / _標準偏差,
        正規化(R1,_相加平均,_標準偏差,R2).

csvファイルとして出力する(_別のcsvファイル,LL) :-
        open(_別のcsvファイル,write,Outstream),
        append(_,[L|R],LL),
        concat_atom(L,',',S),
        write_formatted(Outstream,'%t\n',[S]),
        R = [],
        close(Outstream).