入力信号に0と1と無​限大(inf)の3つ​の状態を持たせ条件判​定に使いたいが。。。

0の場合1の場合未入力(inf)の3つの条件で遷移先を決定させたいのですが、やり方が分からず行き詰まっております。
そもそも、無限大を条件に使う事は出来ないのでしょうか?
また、可能であれば解決策をご教示頂きたいです。

 采纳的回答

Hernia Baby
Hernia Baby 2021-2-24
编辑:Hernia Baby 2021-2-24

2 个投票

「0 or 1 or inf」で判定させたいときは logical と isinf関数 を使います。
判定だけなら、これが使いやすい気がします。
【例】logical値で抜き出す場合(何行目にそれがあるか)
idx = [0 0 1 inf 1 0 1 inf];
idx_0 = idx == 0; % 0の行を返す
idx_1 = idx == 1; % 1の行を返す
idx_inf = isinf(idx); % infの行を返す
入力信号が3種で命令を与えるなら、0か1かそれ以外で指示出すのもありかなと思います。
【例】vの要素が0,1,infとして繰り返し判定をさせます
i = 1;
while i <= length(v)
if v(i) == 0
% statements1
elseif v(i) == 1
% statements2
else
% statements3
end
i = i + 1;
end

更多回答(1 个)

Megumi Fukuda
Megumi Fukuda 2021-2-24

1 个投票

こんにちは。
無限大(inf)かどうかを判定したい場合、
isinf
があります。こちらを使うのはいかがでしょうか?

类别

帮助中心File Exchange 中查找有关 モデル コンポーネントのスケジュール 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!