Almacenamiento posicion de datos tras un bucle for
Publicado por Ruben (16 intervenciones) el 26/03/2015 12:39:43
Hola a todos,
estoy haciendo un bucle para leer una matriz de tamaño 3807x996. Esta matriz tiene valores constantes en su mayoria salvo algunos valores que van de 10 a 50.
Lo que quiero de Matlab es que recorra la matriz por columnas (eso ya está conseguido) y cuando encuentre el primero de estos valores de entre 10 y 50 me guarde la posición, y que cuando encuentre el último de esos valores de la columna me guarde también su posición.
Al final debería tener una 2 posiciones (i,j) en cada una de las 996 columnas.
No sé si es posible eso.
Adjunto el código que llevo escrito:
h=open('DustMS_Lev2_KlettPDR.fig');
h1=findobj(h);
y5 = get(h1(5),'CData');
y6 = get(h1(5),'XData');
y7 = get(h1(5),'YData');
nfile=max(size(y5));
for i=1:nfile;
for j=1:996;
if y5(i,j)<10;
y5(i,j)=-1;
end
end
end
for j=1:996;
for i=1:nfile;
if y5(i,j)>0;
x=find(y5(i,j));
O3(i,j)=i;
O4(i,j)=j;
% save(i,j)('columna(j)','j')
end
end
end
Muchas gracias
estoy haciendo un bucle para leer una matriz de tamaño 3807x996. Esta matriz tiene valores constantes en su mayoria salvo algunos valores que van de 10 a 50.
Lo que quiero de Matlab es que recorra la matriz por columnas (eso ya está conseguido) y cuando encuentre el primero de estos valores de entre 10 y 50 me guarde la posición, y que cuando encuentre el último de esos valores de la columna me guarde también su posición.
Al final debería tener una 2 posiciones (i,j) en cada una de las 996 columnas.
No sé si es posible eso.
Adjunto el código que llevo escrito:
h=open('DustMS_Lev2_KlettPDR.fig');
h1=findobj(h);
y5 = get(h1(5),'CData');
y6 = get(h1(5),'XData');
y7 = get(h1(5),'YData');
nfile=max(size(y5));
for i=1:nfile;
for j=1:996;
if y5(i,j)<10;
y5(i,j)=-1;
end
end
end
for j=1:996;
for i=1:nfile;
if y5(i,j)>0;
x=find(y5(i,j));
O3(i,j)=i;
O4(i,j)=j;
% save(i,j)('columna(j)','j')
end
end
end
Muchas gracias
Valora esta pregunta


0