0

3x3 の行列と 3x1 のベクトルがあるとします。行列AにベクトルをP複数回掛けたいとします。

A=[0 0.3 0.5; 0.8 0 0.5; 0.2 0.7 0] * P=[1; 1; 1] 

これの答えを何倍にもしたいPですN

今は手作業でこれを行うことができますが、Matlab を使用することを余儀なくされており、頭痛の種になっています。

乾杯

4

1 に答える 1

1

これは単なる推測ですが、あなたが望むのは

PN = mpower(A,N)*P0

これNが世代番号で、P0は初期集団ベクトルです。

@LuisMendo および @DennisJaheruddin が示唆するように、これは次と同等です。

PN = A^N*P0

やや詳しく説明すると、世代ごとに を使用して古い人口から新しい人口を計算しますPnew = A*Pold。つまり、次のようになります。

 P1 = A*P0                % generation 1
 P2 = A*P1 = A*A*P0       % generation 2
 P3 = A*P2 = A*A*A*P0     % generation 3

などなど

 PN = (A*A*A*A...*A)*P0     % generation N
    = A^N*P0
于 2013-09-18T14:58:06.793 に答える