
if文から取得した回数だけパルスを発生させたいが初回以外出力が1のままになってしまう
1 回表示 (過去 30 日間)
古いコメントを表示
ifで取得した回数だけパルスを発生させたいが初回以外出力が1のままになってしまいます.
欲しいパルスの個数をifの前に計算させ,その個数分パルスが発生したら0のままにし,
その後再びパルスが必要になったら欲しい個数を計算し現在発生したパルスの差分だけ再びパルスを発生させたいと考えています,
全体

右下のブロックは今まで発生したパルスの個数を数えるためのものです.
if内部

しかし,一回目のパルス発生は上手くいくのですが二回目のパルス発生ができません
if内部のscopeの出力

システム全体の出力

どのようにすれば二回目以降もパルスが発生できますか?
0 件のコメント
採用された回答
Toshinobu Shintai
2022 年 1 月 18 日
添付のモデルのように、Stateflowで構成してはどうでしょうか。
入力されたパルス数分だけ「パルスを出力する状態」を維持し、その間、パルスを出します。終わったら計測し直し、次のパルス数分を出力します。

0 件のコメント
その他の回答 (1 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!