Finding min and max of an element without using builtin function

22 vues (au cours des 30 derniers jours)
ahmed yacine LARDJANE
ahmed yacine LARDJANE le 30 Nov 2020
UPDATE:
Thank you for your answers, i will share code as soon as possible.
Kindly

Réponses (3)

John D'Errico
John D'Errico le 30 Nov 2020
You are missing the point here. This is an exercise. The intent is for you to find a solution that does not use max or min.
Does sort serve the purpose? (Yes, quite well.)
Does sort do more work than max or min would perform? (Yes.)
Do you care? (No.)
Your goal was not to find some solution that you think to me optimally elegant, was it? The elegant solution is to use max and min, that is, to use the code provided which is maximally on-target. Suppose instead, you found some tool that took an array and directly returns the min and max of the vector? Almost certainly, that tool will just use min and max internally.
Sort is a good solution, and you are overthinking the problem.
  4 commentaires
John D'Errico
John D'Errico le 30 Nov 2020
Modifié(e) : John D'Errico le 30 Nov 2020
As Jan said, just try it. Make up some data, Then see how sort works. This is how you will learn.
V = rand(1,5)
V = 1×5
0.9795 0.9945 0.6675 0.1575 0.9903
[sortedV,tags] = sort(V)
sortedV = 1×5
0.1575 0.6675 0.9795 0.9903 0.9945
tags = 1×5
4 3 1 5 2
Now, what does sortedV(1) and sortedV(end) give you? Remember, that sort performs a sort in increasing order.
To find the index of those elements, what would tags(1) and tags(end) tell you?
To learn MATLAB, get your hands dirty. Get into the sandbox and play around. You seem reluctant to do that, wanting to know the optimal answer before you try anything. Computing is not that way. An answer is all you ever need, as long as the answer can be obtained as quickly as you need it.
ahmed yacine LARDJANE
ahmed yacine LARDJANE le 4 Déc 2020
hello,
this is what i did so far
a=[15;32;5;6];
for i=1:size(a)
if a(i+1) >= a(i)
casemin=(i);
valeurmin= a(i);
end
if a(i+1) <= a(i)
casemax =(i);
valeurmax = a(i);
end
end
where case and valeur means, index and value, the code works i see the value in the workspace, but with a problem " Index exceeds matrix dimensions " in commande window, can someone help me with this? i'm really new to programming and matlab.
thanks for your help and your time

Connectez-vous pour commenter.


KSSV
KSSV le 30 Nov 2020
  1 commentaire
ahmed yacine LARDJANE
ahmed yacine LARDJANE le 30 Nov 2020
thank you for your help but this one wasn't really what i'm looking for :(

Connectez-vous pour commenter.


Kirankumar Bacchewar
Kirankumar Bacchewar le 15 Oct 2021

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!

Translated by