Choose the lowest value and jump into the correct if
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
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
0 个评论
更多回答(1 个)
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!