Find minimum and maximum from same matrix

1 view (last 30 days)
Ajit Bashyal
Ajit Bashyal on 14 Jul 2021
Commented: Ajit Bashyal on 16 Jul 2021
I have a matrix of 1181*101 that is a Power of an electric vehicle. It has positive, negative and zeros. Now I need to choose minimum of positive from total matrix and maximum of negative from the same total matrix. How can I do it?
i=1181, j=101
% Power =[1181*101] containing both positive, negative and zeros.
% Now,
if Power(i, j) >= 0
[P, index] = min(Power, [], 2);
%(i.e. Power(i,j)<0)
[P, index] = max(Power, [], 2);
But every time, either it is taking only minimum or only maximum at a time. I tried changing negative terms to zero for minimum and positive terms to zero for maximum, but it still did not work. Please help me.
I can email to you if you require more details like code and variables.
Ajit Bashyal
Ajit Bashyal on 16 Jul 2021
This is the attached file. One more question to Jan, can't i write it in the same variable name like minPositive and maxNegative making a same name as minmax or something like that? And yes I need to neglect the zero because it doesnot have any use.

Sign in to comment.

Accepted Answer

Jan on 14 Jul 2021
I guess, that zeros values should be ignored. Then:
tmpPower = Power;
tmpPower(tmpPower <= 0) = Inf;
[minPositive, index1] = min(tmpPower, [], 2);
tmpPower = Power;
tmpPower(tmpPower > 0) = -Inf;
[maxNegative, index2] = max(tmpPower, [], 2);

More Answers (1)

David Hill
David Hill on 14 Jul 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!