if文から取得した回​数だけパルスを発生さ​せたいが初回以外出力​が1のままになってし​まう

2 views (last 30 days)
mochi
mochi on 18 Jan 2022
Commented: mochi on 18 Jan 2022
ifで取得した回数だけパルスを発生させたいが初回以外出力が1のままになってしまいます.
欲しいパルスの個数をifの前に計算させ,その個数分パルスが発生したら0のままにし,
その後再びパルスが必要になったら欲しい個数を計算し現在発生したパルスの差分だけ再びパルスを発生させたいと考えています,
全体
右下のブロックは今まで発生したパルスの個数を数えるためのものです.
if内部
しかし,一回目のパルス発生は上手くいくのですが二回目のパルス発生ができません
if内部のscopeの出力
システム全体の出力
どのようにすれば二回目以降もパルスが発生できますか?

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 18 Jan 2022
添付のモデルのように、Stateflowで構成してはどうでしょうか。
入力されたパルス数分だけ「パルスを出力する状態」を維持し、その間、パルスを出します。終わったら計測し直し、次のパルス数分を出力します。

More Answers (1)

mochi
mochi on 18 Jan 2022
本当に申し訳ないのですが私のバージョンがR2019aでしたためモデルを開くことができません,
変換していただくことは可能でしょうか?
  2 Comments
Toshinobu Shintai
Toshinobu Shintai on 18 Jan 2022
R2019aのバージョンに変換しました。添付ファイルをご確認ください。
mochi
mochi on 18 Jan 2022
開けました.ありがとうございます.
stateflowは使ったことがないので勉強してモデルを理解できるようがんばります.

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!