Cómo optimizar 'para' Loop en Matlab -- matlab campo con vectorization camp Relacionados El problema

how to optimize 'for' loop in MATLAB


0
vote

problema

Español

Quiero optimizar un código de bucle como a continuación. Mi código está trabajando con una matriz grande y debe optimizarse. por favor ayúdame

Ejemplo uno: esperando boolean Resultados:

  m=zeros(100,100); r=rand(100,100); for i=1:100     for j=1:100         if(r(i,j)<0.3 || r(i,j)>0.7)             m(i,j)=1;         else             m(i,j)=0;         end     end end   

Ejemplo Dos: esperando no boolean resultados

  m=zeros(100,100); r=rand(100,100); for i=1:100     for j=1:100         if(r(i,j)<0.3 || r(i,j)>0.7)             m(i,j)=0.035;         else             m(i,j)=0;         end     end end   
Original en ingles

i want optimize some loop code such as below . my code is working with large matrix and must be optimized . please help me .

Example one: Expecting Boolean results:

m=zeros(100,100); r=rand(100,100); for i=1:100     for j=1:100         if(r(i,j)<0.3 || r(i,j)>0.7)             m(i,j)=1;         else             m(i,j)=0;         end     end end 

Example two: Expecting NON-Boolean results

m=zeros(100,100); r=rand(100,100); for i=1:100     for j=1:100         if(r(i,j)<0.3 || r(i,j)>0.7)             m(i,j)=0.035;         else             m(i,j)=0;         end     end end 
     

Lista de respuestas

2
 
vote

Vectorize:

  m = r<0.3 | r>0.7;   

Esto proporciona un resultado m5 . Es posible que desee convertir m a double : m = double(m); .

 

Vectorize:

m = r<0.3 | r>0.7; 

This gives a boolean result. You may want to convert m to double: m = double(m);.

 
 
   
   
0
 
vote

Ejemplo 1: Respuesta de Luis Mendo

  r=rand(100,100); m = r<0.3 | r>0.7;   

Ejemplo 2:

  Logger.log(values[i][1]); 0  
 

Example 1: Luis Mendo's answer

r=rand(100,100); m = r<0.3 | r>0.7; 

Example 2:

m(100,100) = 0; r=rand(100,100); m(r<0.3 | r>0.7) = 0.035; 
 
 

Relacionados problema

0  Llamando a una función vectorizada en Numba  ( Calling a vectorized function in numba ) 
Estoy tratando de llamar a una función @vectorizar desde una función @jit. ¿Podría alguien explicar por qué no funciona? Publico el código y el error: N =...

3  MATLAB: Generando eficientemente los sumarays de una matriz  ( Matlab efficiently generating subarrays from an array ) 
Tengo un m x m MATRIX M que estoy muestreando diferentes partes de para generar Dim InFile As String InFile = sFolderPath & "Results.txt" 'Delete resul...

1  Obtenga filas de una primera matriz de filas de un segundo  ( Get rows of a first array matching rows of a second one ) 
Supongamos que tengo una matriz A de forma (M, K) B de la forma (N, K) . Las filas de B son todos los patrones posibles que se pueden encontrar (cad...

0  Vectorize la operación de indexación de tensor de Pytorch  ( Vectorize pytorch tensor indexing operation ) 
Estoy tratando de imaginar una operación en Pytorch, pero no estoy seguro de cómo hacerlo. Este es el código usando para los bucles en este momento. 'M' es un...

2294  ¿Por qué las adiciones elementales son mucho más rápidas en los bucles separados que en un bucle combinado?  ( Why are elementwise additions much faster in separate loops than in a combined l ) 
Supongamos a1 , b1 , c1 , y d1 PUNTOS EN LA MEMORIA DE MESA y mi código numérico tiene el siguiente bucle central. const int n = 100000; for (int j =...

5  Vectorizando bucles en adormecidos  ( Vectorizing loops in numpy ) 
Estoy tratando de imaginar una iteración de bucle usando NOMPY, pero estoy luchando para lograr los resultados deseados. Tengo una serie de valores de píxeles...

2  Detalle manualmente el código 10x más lento que el auto optimizado: ¿qué hice mal?  ( Manually vectorized code 10x slower than auto optimized what i did wrong ) 
Estoy tratando de aprender a explotar la vectorización con GCC. Seguí este tutorial de Erik Holk (con < un href = "https://github.com/eholk/bench-dot-produc...

0  Suma elemental de matrices en la matriz de células  ( Elementwise sum of matrices in cell array ) 
Tengo una matriz de células de la siguiente manera: A = { [1 2;3 4] ;[5 6;7 8]}; ¿Cómo puedo agregar A{1,1} + A{2,1} = {[6 8;10 12]}; sin un buc...

2  ¿Qué es esto lectura después de la dependencia de escritura?  ( What is this read after write dependency ) 
Tengo este bucle esta función: Mat HessianDetector::hessianResponse(const Mat &inputImage, float norm) { //... const float *in = inputImage.ptr<float...

2  R - petize condicional reemplazar  ( R vectorised conditional replace ) 
Hola, estoy intentando manipular una lista de números y me gustaría hacerlo sin un bucle para el bucle rápido en R. El pseudocódigo para la manipulación es: ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos