Choose the lowest value and jump into the correct if

조회 수: 1 (최근 30일)
Martin
Martin 2021년 6월 11일
답변: Chunru 2021년 6월 11일
I got variables like:
A = 1;
B = 2;
C = 3;
those values are random and can change over time. I want to jump into the correct area in the if-statements (or case switch) for the lowest value of A,B,C. Something like
if lowest(A,{A,B,C})
do_something_A = true;
elseif lowest(B,{A,B,C})
do_something_B = true;
elseif lowest(C,{A,B,C})
do_something_C = true;
end
This is a "self-invented" function, but hope you get my point

채택된 답변

Chunru
Chunru 2021년 6월 11일
A=1; B=2; C=3;
z = [A, B, C]; % put variables in a vector
[~, idx] = min(z); % idx tells which variable is the minimum
% Then you can use idx to control what you want to do.
% As an example, you can use switch.
switch idx
case 1 % A is minimum
fprintf('A is the smallest')
case 2
fprintf('B is the smallest')
case 3
fprintf('C is the smallest')
end
A is the smallest

추가 답변 (1개)

Jonas
Jonas 2021년 6월 11일
use something like
[~,idx]=min([A B C]);
if idx==1 % A smallest
elseif idx==2 % B smallest
else % C snallest
end

카테고리

Help CenterFile Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by