Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: help with ode45 function
Replies: 2   Last Post: Feb 12, 2013 11:07 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Torsten

Posts: 1,477
Registered: 11/8/10
Re: help with ode45 function
Posted: Feb 12, 2013 11:07 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Lee" wrote in message <kf72pc$b4i$1@newscl01ah.mathworks.com>...
> Hello,
> I'm trying to solve a first-order differential equation using 'ode45', and it is taking way too long. I'm wondering if I am doing something wrong.
>
> Basically, the ODE I'm trying to solve is V' = constant*f(V)
>
> So, I have a fun1.m file:
>
> function f = fun1(t,Vm)
>
> gk = 0.415;
> gcl = 0.582;
> gna = 0.01;
> Ek = -74.7*10^-3;
> Ena = 54.2*10^-3;
> Ecl = -65.8*10^-3;
> Cm = 1e-6;
>
> f = (-1/Cm)*(gk*(Vm-Ek)+gna*(Vm-Ena)+gcl*(Vm-Ecl));
>
> Then, I am doing:
>
> clear all
> Vm_initial = -60*10^-3;
> [t1 f1] = ode23('fun1',[0 10],Vm_initial);
> plot(t1,f1);


Your differential equation has the form
dy/dt = a*y + b, y(t0)=y0
(a = -1/Cm*(gk+gna+gcl) and b=1/Cm*(gk*Ek+gna*Ena+gcl*Ecl))
with analytical solution
y(t)=((a*y0+b)*exp(a*(t-t0))-b)/a
No need to use a numerical integrator for your case.

Best wishes
Torsten.



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.