Borrar filtros
Borrar filtros

how to find maximum and minimum in a matrix

1 visualización (últimos 30 días)
Maryam Hamrahi
Maryam Hamrahi el 4 de Ag. de 2016
Comentada: Maryam Hamrahi el 4 de Ag. de 2016
I have matrix A with n rows and 2 columns. I would like to find rows which has the maximum and/or minimum of X and/or Y. Then, replace zero in these rows.
For instance: I have matrix A and I would like to produce matrix B.
A= [0.1 0.5
0.3 0.9
0.4 0.8
0.4 0.2
1 0.7
0.2 0.6
0.7 1
0.2 0.9]
Here, max. X=1 min. X=0.1 max. Y=1 min. Y=0.2
B= [0 0
0.3 0.9
0.4 0.8
0 0
0 0
0.2 0.6
0 0
0.2 0.9]

Respuesta aceptada

Thorsten
Thorsten el 4 de Ag. de 2016
A= [0.1 0.5
0.3 0.9
0.4 0.8
0.4 0.2
1 0.7
0.2 0.6
0.7 1
0.2 0.9]
idx = A(:,1)==max(A(:,1)) | A(:,1)==min(A(:,1)) |...
A(:,2)==max(A(:,2)) | A(:,2)==min(A(:,2));
A(any(idx,2),:) = 0
  1 comentario
Maryam Hamrahi
Maryam Hamrahi el 4 de Ag. de 2016
I really appreciate your help Thorsten. Thank you very much.

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 4 de Ag. de 2016
Editada: Stephen23 el 4 de Ag. de 2016
The simplest way would be to use logical indexing:
>> idx = A==max(A(:)) | A==min(A(:));
>> A(any(idx,2),:) = 0
A =
0.0 0.0
0.3 0.9
0.4 0.8
0.0 0.0
0.0 0.0
0.2 0.6
0.0 0.0
0.2 0.9
  3 comentarios
Stephen23
Stephen23 el 4 de Ag. de 2016
Editada: Stephen23 el 4 de Ag. de 2016
@Maryam Hamrahi: you are right, I made a mistake, and have now corrected my answer. It should work for you now.
Maryam Hamrahi
Maryam Hamrahi el 4 de Ag. de 2016
Thank you very much Stephen Cobeldick.
your code is working, but it gives me the wrong answer.
I want to have the following:
A =
0.0 0.0
0.3 0.9
0.4 0.8
0.0 0.0
0.0 0.0
0.2 0.6
0.0 0.0
0.2 0.9
but it gives me this:
A =
0 0
0.3000 0.9000
0.4000 0.8000
0.4000 0.2000
0 0
0.2000 0.6000
0 0
0.2000 0.9000

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by