Why wont it output index?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hunter Steele
le 8 Oct 2019
Modifié(e) : Sulaymon Eshkabilov
le 9 Oct 2019
function[max,index]=MyMax(x)
max=0;
[n,m]=size(x);
for i=1:m
if max<x(i)
max=x(i);
index=i;
output = [max, index];
end
end
end
0 commentaires
Réponse acceptée
Sulaymon Eshkabilov
le 9 Oct 2019
Hi,
You have done everything correctly except for a couple of minor flaws. Here is the corrected code:
function output = MyMax(x)
MAX=0; % It is better to avoid MATLAB's function names, such as, max, min, etc to name variables
[n, m]=size(x);
for i=1:m
if MAX<x(i)
MAX=x(i);
index=i;
output = [MAX, index];
end
end
end
This can be tested:
>> x=linspace(-pi,pi);
>> OUT = MyMax(x)
OUT =
1.0e+02 *
0.031415926535898 1.000000000000000
Note that the easy solution of your exercise is this simple command:
[MAX_VAL, INDEX] = max(x)
Good luck.
Plus de réponses (1)
Sulaymon Eshkabilov
le 9 Oct 2019
Modifié(e) : Sulaymon Eshkabilov
le 9 Oct 2019
Just use:
[MAX_VAL, INDEX] = min(x) % instead of max()
Good luck.
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!