필터 지우기
필터 지우기

Solving FitzHugh-Nagumo equations using ODE45

조회 수: 10 (최근 30일)
Kate Heinzman
Kate Heinzman 2020년 2월 22일
댓글: darova 2020년 2월 22일
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
darova
darova 2020년 2월 22일
Once you mentioned ode45. Did you read help?
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