Using a function with a loop for finding the maximum value and its index.
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello!
I am fairly new to MATLAB and am struggling with the topic of loops. A homework of mine is the following:
I need to write a function that finds the max value and its index in a data vector. Also, I am not allowed to use the built-in max function or any other function that relates to the order of magnitudes of elements.
So far I have this function:
function[Max1, MaxI1] = VecMax(Vec1)
Max1 = Vec1(1);
MaxI1 = 1;
while (MaxI1 < length(Vec1))
if(Vec1(MaxI1) > Max1)
Max1=Vec1(MaxI1);
end
MaxI1 = MaxI1 + 1 ;
end
end
Using this example
Vec1=[4 5 9 2 10 -1 4 0 3 12 4];
[Max1,MaxI1] = VecMax(Vec1);
I receive the correct Value for Max1 but still having issues with MaxI1.
Help would be really appreciated
0 commentaires
Réponses (1)
David Hill
le 13 Oct 2022
Vec1=[4 5 9 2 10 -1 4 0 3 12 4];
[Max1,MaxI1] = VecMax(Vec1)
function[Max1, MaxI1] = VecMax(Vec1)
Max1 = Vec1(1);
MaxI1 = 1;
for k=2:length(Vec1)%use for-loop to cycle through entire array
if Vec1(k) > Vec1(k-1)
Max1=Vec1(k);
MaxI1=k;
end
end
end
4 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!