min function on two arrays
34 views (last 30 days)
Show older comments
Robert Demyanovich
on 8 Jun 2021
Commented: Walter Roberson
on 8 Jun 2021
I've read the documentation on the min function, but still don't understand how it works on two arrays. I have the following:
dS=zeros(1,N)
dS=min(cA(i+1,:),cB(i+1,:))
where cA and cB are equally sized arrays. Doesn't the min function just take the value at equivalent locations in cA or cB that is the lowest. So if position 10,50 in cA is 5 and the same position in cB is 3, min returns 3 in the resulting row vector, dS, at column 50. Is that correct?
3 Comments
James Tursa
on 8 Jun 2021
Edited: James Tursa
on 8 Jun 2021
This line creates dS as a vector:
dS=zeros(1,N)
Then this line completely overwrites the dS you just created and instead assigns dS the result of the min( ) function call:
dS=min(cA(i+1,:),cB(i+1,:))
I.e., the first line is completely useless and accomplishes nothing because it gets overwritten in the second line.
And yes, cA(i:1,:) and cB(i+1,:) will be a row vectors if i is a scalar.
Accepted Answer
SALAH ALRABEEI
on 8 Jun 2021
%
dS=min([cA(i+1,:),cB(i+1,:)])
3 Comments
SALAH ALRABEEI
on 8 Jun 2021
Oops, yes it must be semicol; Thanks.
% correction
dS=min([cA(i+1,:);cB(i+1,:)])
Walter Roberson
on 8 Jun 2021
That would work in the case that cA and cB have the same number of columns.
The original code
dS=min(cA(i+1,:),cB(i+1,:))
would also work if one of cA or cB had a single column and the other one did not.
More Answers (0)
See Also
Categories
Find more on Matrices and Arrays 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!