how to find the position of in the matrix without using the neither find nor built in functions.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Umut Oskay
il 16 Apr 2020
Commentato: Umut Oskay
il 16 Apr 2020
i have a matrix with the size of m x n . I found the min and max with the multiple for loops in the matrix without using any built in function . But i cannot find the position of them. Can you help me to find the position without using any built in function
7 Commenti
Risposta accettata
James Tursa
il 16 Apr 2020
Just add variables to keep track of the locations. E.g.,
if M(a,b) < min
min = M(a,b);
mina = a;
minb = b;
end
if M(a,b) > max
max = M(a,b);
maxa = a;
maxb = b;
end
P.S. You should use variable names other than min and max, since those are existing MATLAB fuction names.
3 Commenti
James Tursa
il 16 Apr 2020
Modificato: James Tursa
il 16 Apr 2020
You also need to change:
- Initial max value from 0 to -inf
- The < test to <=
- The > test to >=
The last two changes are just to ensure that you always get the indexing results.
Walter Roberson
il 16 Apr 2020
Unfortunately this code uses the built-in functions lt() and gt() and subsref()
In MATLAB, it is not possible to index into an array without using the built-in function subsref(), and that means that the overall task of finding the minimum and maximum of the array cannot be done without using any built-in functions.
Più risposte (1)
David Goodmanson
il 16 Apr 2020
Hi Umut,
all you need do is use a couple of 1x2 arrays to store a and and b when you find them
When inside the for loops when you find a new max,
maxM = M(a,b);
indmax = [a b];
and similarly for min. I changed max to maxM because max is already a builit-in Matlab function and you will cause yourself problems if you use it as a variable name. Same for min.
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!