What is the difference between if-else block and a switch block in simulink?

67 ビュー (過去 30 日間)
chethan
chethan 2014 年 9 月 4 日
コメント済み: Gabriel Sobola 2021 年 12 月 4 日
Can anyone explain the difference between if-else block and switch block in simulink?

回答 (4 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 9 月 4 日
  1. The switch block has 2 input signals and a third input (in the middle of the block) that indicate if the first or second signal will pass through the block. It'd the only action you can do, choosing between signal1 or signal2
  2. With If-Else block, when the condition is true, you can run any action you want
  3 件のコメント
Matthias Seibold
Matthias Seibold 2014 年 9 月 4 日
switch block:
the switch block in simulink is analogous to an if-else statement in matlab. you can can just switch between 2(!!) signals. therefore you choose your criteria to switch between the signals.
if block:
the if block does mostly the same. the difference is that you can add more elseif expressions, so you can include more possibilities than 2.
chethan
chethan 2014 年 9 月 4 日
Now can you explain the difference between multiport switch block and if else block?

サインインしてコメントする。


Matthias Seibold
Matthias Seibold 2014 年 9 月 4 日
編集済み: Matthias Seibold 2014 年 9 月 4 日
switch block:
the switch block in simulink is analogous to an if-else statement in matlab. you can can just switch between 2(!!) signals. therefore you choose your criteria to switch between the signals.
if block:
the if block does mostly the same. the difference is that you can add more elseif expressions, so it can include more possibilities than 2.

Matthias Seibold
Matthias Seibold 2014 年 9 月 4 日
the multiport switch represents the switch-case statement. You just define different cases and the block activates the port of the true statement.
switch var
case 3
a = 10;
case 2
a = 20;
end
the if-else block does the same once again. the different options are set by elseif conditions. it represents a statement like:
if var > 3
a = 2;
elseif 0 < var =< 3
a = 1;
else
a = 0;
end
as you can see, you can define ranges for the variables in the if-else statement (if-block) that you cant realize with an switch-case statement (multiport switch block)
Does this answer your question?
  2 件のコメント
Ronnabel Sernicula
Ronnabel Sernicula 2021 年 5 月 22 日
How to input this in simulink?
Gabriel Sobola
Gabriel Sobola 2021 年 12 月 4 日
Kindly look for the if-else block or switch block in the Simulink Library, and implement the statement above.

サインインしてコメントする。


Gabriel Sobola
Gabriel Sobola 2021 年 12 月 4 日
The if-else and the switch blocks are similar to if-else and switch case statements in Matlab script.
Both perform the same function when the input conditions/signals are two (just like in script).
For instance, if you want to decide between two conditions, you can use either of the blocks in Simulink, but if the conditions are more than two, if-else block is the prefered option.

カテゴリ

Help Center および File ExchangeSources についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by