Solving FitzHugh-Nagumo equations using ODE45

16 次查看(过去 30 天)
Write a program to solve the FitzHugh-Nagumo equations for a single cell (i.e., without spatial coupling).
du/dt = c1u ( u a)(1 u) c2uv +stim
dv/ dt = b (u v)
where
a=0.13
b=0.013
c1=0.26
c2=0.1
stim is a stimulus current that can be applied for a short time at the beginning of the simulation.
u represents membrane potential and ranges from 0 (rest) to 1 (excited). v is a recovery variable in the same range. t is time in milliseconds.
How do you use MATLAB's ode45() function to integrate the system of differential equations? Input to the program should be the duration of the simulation; initial values for u, v, and t; the strength of the stimulus, and the time for which it is applied (typically a few ms). It;s output should include vectors for t, u and v.
  2 个评论
Kate Heinzman
Kate Heinzman 2020-2-22
Yes but I'm still confused as to how to write the overall function with the specified input and output arguments stated above.

请先登录,再进行评论。

采纳的回答

darova
darova 2020-2-22
Here is my achievement. I don't get about stim. Can you explain more?
% du/dt = c1u ( u − a)(1 − u) − c2uv +stim
% dv/ dt = b (u − v)
a = 0.13;
b = 0.013;
c1 = 0.26;
c2 = 0.1;
% let y(1) = u; y(2) = v
F = @(t,y) [c1*y(1)*(y(1)-a)*(1-y(1)-c2*y(1)*y(2)+stim)
b*(y(1)-y(2))];
tspan = [0 2]; % time
y0 = [1 2]; % u0 = 1; v0 = 2;
[t,y] = ode45(F,tspan,y0);
plot(t,y)
legend('u(t)','v(t)')
  4 个评论
Kate Heinzman
Kate Heinzman 2020-2-22
I understand what you're saying but since stim is an input argument in the first function in my code it gives me an error when I try to use it in my second function. How do I pass stim from the first function to the second function?
darova
darova 2020-2-22
Just add it to input arguments?
function dUdt = fhn(t,U,stim)
Then call function
[t,U] = ode45(@(t,U)fhn(t,U,stim),[t0 tf],[u0; v0]);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by