Я хотел бы добавить шум к нелинейно-связанной системе ОДУ (модель Фитцхью-Нагумо). Я добавил гауссовский белый шум на вход (см. Код: добавление шума в \ dot (V), который является динамикой напряжения), и я хотел бы получить аналогичные «зубчатые» пики, когда добавляю шум в переменную восстановления (\ dot ( ж)).
Однако я использую более или менее ту же процедуру для добавления шума в переменную восстановления, хотя мне пришлось уменьшить сигму. В результате я получаю переменный результат, но не "зубчатые" пики, как мне хотелось бы видеть. До сих пор я не смог выяснить, как изменить масштаб системы, чтобы получить аналогичное моделирование с шумом для динамики напряжения и динамики восстановления.
Код для добавления гауссовского белого шума к динамике напряжения (разница между кодом - «сигма» и место, где шум добавляется в Forward Euler):
%% Parameters
%Time vector for integration
dt = 0.1;
tend = (3/1e-2); %make sure to capture some spikes
t = 0:dt:tend;
%simulations
nsimu = 20;
%Initial values
V0 = -1.5;
w0 = -3/8;
%initial values vectors
V = zeros(1, length(t));
V(1) = V0;
w = zeros(1, length(t));
w(1) = w0;
%input
Iapp = 0.3303;
%noise
sigma = 1.0;
nsimu = 50;
eta = zeros(1,length(t));
%% Functions
dV = @(t, V, w) V - V^3/3 - w + Iapp;
dw = @(t, V, w) 0.08*(V + 0.7 - 0.8* w);
%% Adding white noise on input
for m = 1:nsimu
%Generate noise vector
for i = 1:length(t)-1
eta(i+1) = eta(i) + sigma*sqrt(dt)*randn;
end
%Forward Euler + white noise
for ii = 1:length(eta)-1
w(ii+1) = w(ii) + dt * dw(t, V(ii), w(ii));
V(ii+1) = V(ii) + dt * dV(t, V(ii), w(ii)) + dt*eta(ii);
end
plot(t, V, 'k-', 'LineWidth', 1.5)
drawnow
end
Код для добавления шума в переменную восстановления `w '. (Довольно похоже на предыдущий код ... но это требует работы)
%% Parameters
%Time vector for integration
dt = 0.1;
tend = (3/1e-2); %make sure to capture some spikes
t = 0:dt:tend;
%simulations
nsimu = 20;
%Initial values
V0 = -1.5;
w0 = -3/8;
%initial values vectors
V = zeros(1, length(t));
V(1) = V0;
w = zeros(1, length(t));
w(1) = w0;
%input
Iapp = 0.3303;
%noise
sigma = 1e-3;
nsimu = 50;
eta = zeros(1,length(t));
%% Functions
dV = @(t, V, w) V - V^3/3 - w + Iapp;
dw = @(t, V, w) 0.08*(V + 0.7 - 0.8* w);
%% Adding white noise on input
for m = 1:nsimu
%Generate noise vector
for i = 1:length(t)-1
eta(i+1) = eta(i) + sigma*sqrt(dt)*randn;
end
%Forward Euler + white noise
for ii = 1:length(eta)-1
w(ii+1) = w(ii) + dt * dw(t, V(ii), w(ii)) + dt*eta(ii);
V(ii+1) = V(ii) + dt * dV(t, V(ii), w(ii));
end
plot(t, V, 'k-', 'LineWidth', 1.5)
drawnow
end
Результатом обоих кодов должно стать возмущенное моделирование динамики системы. Симуляция шума на w' should appear the same as the simulation of noise on
V '.