2 つの期間のデータが与えられた場合に、低音拡散モデルのパラメーター p と q を見つける関数を作成したいと思います。
モデル (方程式) は次のとおりです。
n(T) = p*m + (q-p)*n(T-1) + q/m*n(T-1)^2
どこ
n(T) = number of addoptions occuring in period T
n(T-1) = number of cumulative adoptions that occured before T
p = coefficient of innovation
q = coefficient of imitation
m = number of eventual adopters
たとえば、m = 3.000.000 で、以下の年のデータが次の場合:
2000: n(T) = 820, n(T-1) = 0
2005: n(T) = 25000, n(T-1) = 18000
次に、次の連立方程式を解く必要があります (p と q の値を決定するため)。
p*m + (q-p)*0 + q/3.000.000 * 0^2 == 820
p*m + (q-p)*18000 + q/3.000.000 * 18000^2 == 25000
Matlab のドキュメントに従って、関数 Bass を作成しようとしました。
function F = Bass(m, p, q, cummulativeAdoptersBefore)
F = [p*m + (q-p)*cummulativeAdoptersBefore(1) + q/m*cummulativeAdoptersBefore(1).^2;
p*m + (q-p)*cummulativeAdoptersBefore(2) + q/m*cummulativeAdoptersBefore(2).^2];
end
これは fsolve(@Bass,x0,options) で使用する必要がありますが、この場合、m、p、q、cummulativeAdoptersBefore(1)、および cummulativeAdoptersBefore(2) を x0 で指定する必要があり、すべての変数は単にではなく不明と見なされます。後者の2つ。
上のような連立方程式の解き方を知っている人はいますか?
ありがとうございました!