Matlab - Simulación de una Neurona, Problemas con Variables

 
Vista:
Imágen de perfil de Pedro Maximiliano

Simulación de una Neurona, Problemas con Variables

Publicado por Pedro Maximiliano (2 intervenciones) el 24/08/2015 22:52:36
hola!

Quiero simular el comportamiento del potencial x(t) de una neurona que cumple :

dx/dt = -x +I(t) si x(t) < v_u (valor umbral) donde I(t) es una fuente externa, (que en este caso la supongo constante).

y al llegar al valor umbral v_u , instantáneamente realiza una descarga, hasta quedar en un valor de reseteo v_r

Tengo 2 problemas con el código:
a) las variables globales que definí, las desconoce la función ( ver la función xdot, la variable Ic )
b) En la línea de código r = i+1 (ver al función Nr ) me salta un error de sintaxis, y me señala la identación.


El código es éste:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
N = 1; % cantidad de neuronas
 
v_r = 0;  % Potencial de reseteo
v_u = 15; % Potencial umbral
Ic = 20; % Intensidad de corriente
 
t = 0:0.1:10;
 
function xdot = f(x,t)
	xdot = -x + 20;
endfunction
 
 
function Nr = Neuron(T)      	% Devuelve un vector de potenciales que cumple la ec.
							% diff para x < V_u y se resetea a V_r si llega a V_u
 
	z = lsode("f",v_r,T)		% Z es la sol de la ec diff; sin la condición Umbral
	Nr = zeros(1,length(T))
	Nr(1) = v_r
	i = 2
	while (i < length(T))
		if z(i) < v_u
			Nr(i) = z (i)
		elseif i = length(T)
			z(i) = v_r
		else					% Para los valores de T que me faltan, resuelvo la ec.
								% y guardo los datos en una var aux Nr2.
			z(i) = v_r
			Nr2 = Neuron(T(1:length(T)-i)
			r = i+1
			while r <length(T)   	% Comando para unir ambos vectores
				Nr (r) = Nr2(r-i)
				r = r+1
			endwhile
			break
		i = i+1
		endif
	endwhile
 
Neuron = Neuron (t)
plot(t,Neuron)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Simulación de una Neurona, Problemas con Variables

Publicado por Royeth (1818 intervenciones) el 25/08/2015 17:48:01
tienes errores al terminar los bucles , simplemente en cada uno de ellos va end y si defines variables globales debes declararla en todas las funciones.



saludos
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro Maximiliano

Simulación de una Neurona, Problemas con Variables

Publicado por Pedro Maximiliano (2 intervenciones) el 26/08/2015 14:49:48
Tenés razón, hacía mucho que no programaba y además había programado en python, así que todavía estoy aprendiendo cosas básicas y dándome cuenta de las diferencias. ya salió!!
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar