How to add another condition for the indexing of certain elements in an array.

I am using this code to find the index of elements having maximum value in each row of a matrix A
for ii=1:row % row is the number of rows in the matrix A
[ii1,jj1] = find(M==max(M(ii,:)));
[indices]=[indices;ii1,jj1];
Now, I want to find those elements that fullfill another condition i.e. they have minimum value in thier respective column. How can I achieve that.
I have just started learning Matlab and any guidline will be appreciated. Also, I do not need the code only guidline or a way to do this task. Thanks in advance.

Respuestas (1)

Read about max and min. You can specify the dimension i.e you want max, min along row or column. If A is your matrix.
You can max element in every column using
[val,idx] =max(A) ;
[val,idx] = max(A,[],1) ;
The above steps are same.
If you want to get max element in every row use:
[val,idx] = max(A,[],2) ;
Same is the case with min.

4 comentarios

Abdul Rehman
Abdul Rehman el 10 de Mayo de 2020
Editada: Abdul Rehman el 11 de Mayo de 2020
I get that, but I want is an indeces vector that fullfill both the conditions (i.e the element that is max in its row and min in its column) at the same time.
You run max amd min.
But max and min will only give us the index and vlaue of the first maximum and minimum element in an array. I need to find all values of maximum or minimum elements i.e. if a vlaue repeats in a row i wanted both its indeces.
Thanks for your time.
You sort the array/ matrix and pick the values you want.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 10 de Mayo de 2020

Comentada:

el 11 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by