Matlab - ¿Cómo recorro una matriz de manera aleatoria?

 
Vista:

¿Cómo recorro una matriz de manera aleatoria?

Publicado por Joseline (7 intervenciones) el 29/04/2014 21:21:33
Hola, Buenas Tardes!

Alguien me puede ayudar?

Tengo una matriz llena, y la necesito recorrer de manera aleatoria
Una vez que la vaya recorriendo, debo de ir guardando las posiciones en un vector....

1
2
3
4
5
6
7
8
9
for  fila= randi([1,m],1)
        for columna=randi([1,n],1)
            pixel=gris(fila,columna);
            Imagen_Marcada(fila,columna)=pixel;
 
            coordenada(i,1)=fila; %Estos seran mis vectores
            coordenada(i,2)=columna; %Vector
end
end

Espero que alguien me pueda ayudar, ;)
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
Imágen de perfil de Jorge De Los Santos
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

¿Cómo recorro una matriz de manera aleatoria?

Publicado por Jorge De Los Santos (213 intervenciones) el 05/05/2014 00:58:51
Hola Joseline.

Sería más conveniente hacerlo con un bucle while como se muestra enseguida:

1
2
3
4
5
6
7
8
9
i=1;
while 1
    fila=randi([1 m]);
    columna=randi([1 n]);
    pixel=gris(fila,columna);
    Imagen_Marcada(fila,columna)=pixel;
    coordenada(i,:)=[fila columna]; % Guarda posiciones
    i=i+1;
end


Con el entendido que las variables "m" y "n" han sido declaradas previamente (he de suponer que dependerán de la dimensión de una imagen leída). Como puedes ver el bucle que se tiene es infinito, por lo cual habrás de especificar la condición de terminación mediante un if-break o bien desde la inicialización del while.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

¿Cómo recorro una matriz de manera aleatoria?

Publicado por Joseline (7 intervenciones) el 06/05/2014 21:25:41
¡Hola Jorge De Los Santos!
Muchas gracias, por la ayuda...
Funciona bien.
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