Indexing with min and numel
2 views (last 30 days)
Show older comments
vector1 = 1:5
vector2 = 2:7
N = max(numel(vector1), numel(vector2))
[n,I] = min([numel(vector1),numel(vector2)]) *can someone kindly explain to me how indexing in this works? How is it either going to be 1 or 2?
0 Comments
Accepted Answer
Dyuman Joshi
on 17 Nov 2023
Moved: Dyuman Joshi
on 17 Nov 2023
[n,I] = min([numel(vector1),numel(vector2)])
There are 2 elements in the input array, as numel() returns a scalar value.
Then min() will output the minimum value of those, and the first index of where the minimum value occurs.
"How is it either going to be 1 or 2?"
Because there are only 2 elements in the array.
0 Comments
More Answers (2)
John D'Errico
on 17 Nov 2023
Edited: John D'Errico
on 17 Nov 2023
vector1 = 1:5
vector2 = 2:7
N = max(numel(vector1), numel(vector2))
I'm not sure what you mean by indexing. But the above seems perfectly logical. And there is no indexing involved. N is simply the larger of the two vector lengths. It must be the last line you show that is in question.
[n,I] = min([numel(vector1),numel(vector2)])
To understand this, you need to break it down. What did you do here?
[numel(vector1),numel(vector2)]
You created a VECTOR of length 2.
Now which element is the smaller one? The first one. That is what I tells you. Since that vector only has two elements in it, then I will only ever be 1 or 2.
0 Comments
Les Beckham
on 17 Nov 2023
vector1 = 1:5
vector2 = 2:7
N = max(numel(vector1), numel(vector2))
[n,I] = min([numel(vector1),numel(vector2)])
I'm not sure what you are asking. In the last line of code min returns 5 for n because numel(vector1) is 5 and returns 1 for I because numel(vector1) is in the first position of the vector constructed by concatenation: [numel(vector1),numel(vector2)].
Does that answer your question?
0 Comments
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!