1

次のように、単一の Hindmarsh-Rose(HR) ニューロン モデルがあります。

x' = y - a*x^3 + b*x^2 -z + I0 + I1*cos*w*t + D*Zyi(t);

y' = c - d*x^2 -y;

z' = r[s(x - x0) - z ];

ここで、a、b、I1、I0、D、c、d、r、s、x0 はパラメーターです。

「w」(I1*cos w t の x') を変化させ、D 強度のホワイト ガウス ノイズ (Zyi(t)) を含め、[20 ~ 60] の範囲の周波数感度を取得します。これは、システムが周波数に依存し、特定の周波数でコヒーレンス (この場合は 40) が存在する確率共鳴の問題であり、SNR を通じてキャプチャできます。

最初は、ODE45 を使用してシステムが決定論的 (No Noise 項、つまり Zyi(t)) であったときにシステムを解くだけで、正しい結果が生成されましたが、ガウス ノイズを追加すると正確な結果を再現できませんでした。つまり、異なるシミュレーションで周波数感度をキャプチャできませんでした。

次に、SDEToolbox を使用して Matlab で解決しました。ツールボックスで Euler-Maruyama と Milstein の組み込みアルゴリズムを使用しましたが、役に立ちませんでした。

function [] = sd1

a=1;
b=3;
c=1;
d=5;
s=4;
r=0.006;
x0=-1.6;
I1=0.2;
I0=1.31; %for I0=1.32 and no noise term all neurons fire.


T = 0:0.01:2000; 
xi = [0.1 0.01 0.1];  %initial conditions

zyi = 0.2 * randn; %Noise term with D=0.2

f = @(T,X)[X(2) - a*X(1)^3 + b * X(1)^2 - X(3) + I0 + (I1 * cos(40 * T)) + zyi;c - d*X(1)^2 - X(2) ; r*(s*(X(1) - x0) - X(3))]; 

y = sde_euler(f,g,T,xi); % Integrate
figure;
plot(T,y(:,1));
end

これは何らかの結果を生成しますが、「w」の値が異なると正確な結果は生成されません。つまり、「w」が小さい場合 (>20 かつ <40)、生成されるスパイクの数は少なくなり、w が 40 から 50 の間 (約) の場合、スパイク数は少なくなります。ニューロン スパイクの数は最大にする必要があり、"w" > 50 および "w" < 60 の場合、ニューロン スパイクは再び少なくする必要があります。

4

1 に答える 1

0

https://github.com/horchler/SDETools/blob/master/SDETools/sde_euler.mからわかる限り、

関数 f は SDE の決定論的部分 (ODE で解くもの) のみを記述する必要がありますが、g はノイズ/拡散部分を記述する必要があります。ノイズ (zyi) を決定論的な f に入れているように見えますが、これは自然にすべてを台無しにします。

コードのどこに g を設定しますか? g=0.2、つまり g=D に設定する必要があります。

于 2015-05-27T12:41:12.530 に答える