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

3 ビュー (過去 30 日間)
Katotyan_pe
Katotyan_pe 2021 年 2 月 23 日
編集済み: Hernia Baby 2021 年 2 月 24 日
0の場合1の場合未入力(inf)の3つの条件で遷移先を決定させたいのですが、やり方が分からず行き詰まっております。
そもそも、無限大を条件に使う事は出来ないのでしょうか?
また、可能であれば解決策をご教示頂きたいです。

採用された回答

Hernia Baby
Hernia Baby 2021 年 2 月 24 日
編集済み: Hernia Baby 2021 年 2 月 24 日
「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 日
こんにちは。
無限大(inf)かどうかを判定したい場合、
isinf
があります。こちらを使うのはいかがでしょうか?

カテゴリ

Help Center および File Exchangeスコープおよびデータ ログ についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!