⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fitzhugh_nagumo.m

📁 bnn神经网络
💻 M
字号:
function dydt = fitzhugh_nagumo(t , y)
% FITZHUGH_NAGUMO   Differential equations for FitzHugh-Nagumo model
% 
%   Version:    1.0
%   ----------------------------------
%   Amir Reza Saffari Azar, August 2004
%   amir@ymer.org
%   http://www.ymer.org
%   http://ee.sut.ac.ir/faculty/saffari/main.index

global net

%---setting parameters
if ischar(net.Neurons.Model.ModelParam)
    switch lower(net.Neurons.Model.ModelParam)
        case 'def'
            alpha   = 0.1*ones(net.Architecture.NeuronNum , 1);
            epsilon = 0.01*ones(net.Architecture.NeuronNum , 1);
            gamma   = 0.5*ones(net.Architecture.NeuronNum , 1);

        otherwise
            error('Unknown neuron model parameters')
    end
else
    alpha   = net.Neurons.Model.ModelParam(: , 1);
    epsilon = net.Neurons.Model.ModelParam(: , 2);
    gamma   = net.Neurons.Model.ModelParam(: , 3);
end

state_num       = net.Neurons.Model.StateNum;

I       = external_input(t , y) + internal_input(t , y);
dydt    = zeros(size(y));

for k = 1:state_num:length(y)
    v       = y(k);
    w       = y(k + 1);
    
    [dvdt dwdt] = fn_de(t , v , w , I(1 + floor(k/state_num)) , alpha(round((k + 1)/2)) , epsilon(round((k + 1)/2)) , gamma(round((k + 1)/2)));
    
    dydt(k)     = dvdt;
    dydt(k + 1) = dwdt;
end

return

%---main DEs
function [dvdt , dwdt] = fn_de(t , v , w , I , alpha , epsilon , gamma)
% FitzHugh-Nagumo differential equations

dvdt    = (-v*(v - alpha)*(v - 1) - w + I)/epsilon;
dwdt    = v - gamma*w;

return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -