MATLAB Answers

Find minimum and maximum from same matrix

조회 수: 1(최근 30일)
Ajit Bashyal
Ajit Bashyal 2021년 7월 14일
댓글: Ajit Bashyal 2021년 7월 16일
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?
Example
i=1181, j=101
% Power =[1181*101] containing both positive, negative and zeros.
% Now,
if Power(i, j) >= 0
[P, index] = min(Power, [], 2);
else
%(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.
  댓글 수: 3
Ajit Bashyal
Ajit Bashyal 2021년 7월 16일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2021년 7월 14일
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);

추가 답변(1개)

David Hill
David Hill 2021년 7월 14일
m=yourMatrix;
m(m<=0)=inf;
Min=min(m,[],'all');
m=yourMatrix;
m(m>=0)=0;
Max=-max(abs(m),[],'all');

Community Treasure Hunt

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

Start Hunting!

Translated by