Matlab - Datos de un vector

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 7 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Datos de un vector

Publicado por Jose (4 intervenciones) el 14/10/2017 02:41:24
Buenas noches, estoy trabajando con ciertos datos que me fueron enviados en Excel y para hacer el analisis correspondiente estoy utilizando Matlab.

Al importar los datos de Excel a Matlab queda un vector de 4662x1. Lo que sucede es que en ciertos tramos de dicho vector se pueden evidenciar secuencias de ceros consecutivos, pueden ser 9,11,15.

Para el analisis necesito reemplazar todas esas secuencias de ceros por numeros positivos (enteros o decimales) realizando una interpolacion entre el dato anterior y el datos posterior a cada secuencia de ceros. Es decir, por ejemplo:

V=[1 2 3 0 0 0 0 0 0 0 0 4 5 6]; x=1:length(V); x1 = [x(3) x(12)]; v1= [V(3) V(12)]; xq = [x(3):x(12)];
vq1 = interp1(x1,v1,xq);

En este caso haga una interpolacion entre 3 y 4, para hallar los 8 valores entre ellos para reemplazar los ceros.

El problema es que debo hacerlo para todos los datos y el código que he realizado para hallar la interpolacion no me funciona correctamente, el codigo es el siguiente:

y = xlsread('DATOS ','A1:A4662');
x=1:length(y);
yy=y';
xx = [];
v = [];
xxq = [];
for k=1:length(yy)
xx(end+1)= [x(yy(k)==0)-1 x(yy(k)==0)+1];
v(end+1)= [yy(x(yy(k)==0)-1) yy(x(yy(k)==0)+1)];
xxq(end+1) =[x(yy(k)==0)-1:x(yy(k)==0)+1];
end
vq1 = interp1(xx,v,xxq)

Lo que sale en el command windows es: Subscripted assignment dimension mismatch.

Como la interpolacion no funciona no continue con la parte del codigo que reemplace los datos.

Me gustaría saber como podria solucionar este problema ya que he intentado mucho y no lo he conseguido. Les agradezco de antemano. Adjunto el archivo en Excel donde estan los 4662 datos. De nuevo gracias.
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