Hi,
I am trying to translate a simple program that was written in matlab to python.
I uses arrays to plot multiple data in single graph.
I wrote the python according to the matlab language.
But is seems like i made some mistake along the way.
Please help me
Thank you in advance
This is matlab code that actually works
This is my python code.
I am trying to translate a simple program that was written in matlab to python.
I uses arrays to plot multiple data in single graph.
I wrote the python according to the matlab language.
But is seems like i made some mistake along the way.
Please help me
Thank you in advance
This is matlab code that actually works
Code:
subplot(5,4,1)
a=0.02; b=0.2; c=-65; d=6;
V=-70; u=b*V;
VV=[]; uu=[];
tau = 0.25; tspan = 0:tau:100;
T1=tspan(end)/10;
for t=tspan
if (t>T1)
I=14;
else
I=0;
end;
V = V + tau*(0.04*V^2+5*V+140-u+I);
u = u + tau*a*(b*V-u);
if V > 30
VV(end+1)=30;
V = c;
u = u + d;
else
VV(end+1)=V;
end;
uu(end+1)=u;
end;
plot(tspan,VV,[0 T1 T1 max(tspan)],-90+[0 0 10 10]);
axis([0 max(tspan) -90 30])
axis off;
title('(A) tonic spiking');
Code:
import sys
from math import *
from scipy.integrate import odeint # ODE integration
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import numpy
import pylab
a = 0.02
b = 0.2
c = -65
d = 6
V = -70
u = b * V
VV = []
uu = []
tau = 0.25
tspan = numpy.arange(0,101,tau)
T1 = tspan(-1)/10
for t in tspan:
if t>T1:
I = 14
else:
I = 0
V = V + tau*(0.04*V^2+5*V+140-u+I)
u = u + tau*a*(b*V-u)
if V>30:
VV[end+1]=30
V = c
u = u + d
else:
VV[end+1] = V
uu[end+1] = u
pylab.plot(tspan,VV)
pylab.show()