2008-08-01から1ヶ月間の記事一覧

liboctaveで主成分分析 -特異値分解を使う-

C++ と liboctave でPCAをするプログラム.データの共分散行列を求めて,これを特異値分解するというやりかた.一般的に,固有値分解のよりも精度がいいらしい (Principal components analysis, Wikipedia, The Free Encyclopedia).

liboctaveで主成分分析 -固有値分解を使う-

C++ と liboctave でPCAをするプログラム.データの共分散行列を求めて,その行列を固有値分解するという,テキストに載っているやりかた.

liboctaveで主成分分析 -サンプルデータ生成-

PCA (主成分分析) にかけるデータの生成プログラム. sample.dat に出力データを保存してあるので,これを使えばPCAのプログラムが実行できます(よって以下は興味がある人だけ).

cos と std::cos は別物だっていう話

C++には関数のオーバーロードがあるから,Cの cosf みたいに型ごとに関数を区別して書く必要が無い. cos(x) と書けば, x の型を自動で判別してくれるということだ.が,落し穴が.

liboctave + C++で可能なことを増やすために

octave は Matlab には劣るかもしれないが,かなり多くのことができる.それらのうち, liboctave で実装されているものはもちろん C++ から利用できるのだが,そうでないもの,例えばスクリプトやDLDなどによって提供されているものについても, C++ から利…