Encontrar ceros de una función
Publicado por María (6 intervenciones) el 28/02/2018 18:48:14
Buenas!
Tengo un problema a la hora de encontrar los ceros de una función en matlab. Tengo la señal discreta en un archivo .mat y con ello genero una variable de tipo double (pe "datos" de 2000x1 double).
Mi idea es encontrar el cruce con el eje mirando el cambio de signo entre puntos contiguos de la señal, y guardar en una variable la posición de este valor en la variable "datos" algo como:
El problema está con el recorrido de la variable datos, que "no acepta" el término "i" e "i+1", ya que al ejecutar el código me devuelve este error:
"Index exceeds matrix dimensions." en relación con la variable "datos".
Alguna idea de cómo solucionar esto?
Muchas gracias de antemano!!
Tengo un problema a la hora de encontrar los ceros de una función en matlab. Tengo la señal discreta en un archivo .mat y con ello genero una variable de tipo double (pe "datos" de 2000x1 double).
Mi idea es encontrar el cruce con el eje mirando el cambio de signo entre puntos contiguos de la señal, y guardar en una variable la posición de este valor en la variable "datos" algo como:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ceros=0;
for i=1:2000
if datos(i)*datos(i+1)==0
if datos(i)==0
ceros=ceros+datos(i);
else
ceros=ceros+datos(i+1);
end
elseif datos(i)*datos(i+1)<0
if abs(datos(i))<abs(datos(i+1))
ceros=ceros+datos(i);
else
ceros=ceros+datos(i+1);
end
end
end
El problema está con el recorrido de la variable datos, que "no acepta" el término "i" e "i+1", ya que al ejecutar el código me devuelve este error:
"Index exceeds matrix dimensions." en relación con la variable "datos".
Alguna idea de cómo solucionar esto?
Muchas gracias de antemano!!
Valora esta pregunta


0