7月 10

ここでは PCA を OpenCV の関数を用いて行うことについてのみ説明します.PCA とは何かなどについては他のサイトや書籍を参考にされて下さい.

OpenCV には PCA を行うために次の3つの関数が用意されています.

cvCalcPCA(const CvArr* data, CvArr* avg,?CvArr* eigenvalues,?CvArr* eigenvectors, int flags);

1つ目の関数(cvCalcPCA)は,ベクトル集合の主成分分析を行う関数.この関数は,観測されるデータベクトル集合を?,主成分分析によって部分空間へ投影されるベクトルを??としたときの連続写像??を求めます.

cvProjectPCA(const CvArr* data, CvArr* avg,?CvArr* eigenvalues, CvArr* project);

2つ目の関数(cvProjectPCA)は,指定された部分空間へベクトルを投影します.あらかじめ求めた連続写像??を用いて??から??を算出します.

cvBackProjectPCA(const CvArr* project, CvArr* avg,?CvArr* eigenvectors, CvArr* result);

3つ目の関数(cvBackProjectPCA)は,投影係数から元のベクトルを再構築します.部分空間??から 観測データ空間??への逆写像??を行います.

各関数への引数については次のようになっています.

Continue reading »


Tagged with:
6月 19

 
Google で「エノン写像」というキーワード検索をした時に10番目にこのブログが表示されていてビックリしました.にも関わらずエノン写像について何も載せていないのはいかがなものかと思い,少しだけエノン写像について書いてみることにしました.
 
エノン写像は,天文学者エノンさんが提案した数理モデルで,

x(t+1) = 1 – a * x(t) * x(t) + y(t)
y(t+1) = b * x(t)

で与えられる二次元写像です.低次(二次)の非線形性を有し,構造が簡単であることから,数値実験などによく用いられるそうです.(※詳細に関しては 他の参考書や Hénon map などを参照されて下さい.)

ちなみに2つのパラメータ, a, b をそれぞれ a = 1.4,b = 0.3 とした場合,エノン写像のアトラクタは ストレンジアトラクタ となります(下図).

エノン写像のストレンジアトラクタ
エノン写像が生成する時系列波形

エノン写像のダイナミクスを生成するプログラムをC言語で書くとこんな感じになります.

Continue reading »

5月 31

  
  
この記事は http://app.javac.biz/tools/caltm-2 に移動しました
  
  

Tagged with:
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
preload preload preload