現在MATLAB, Simulinkにてモデルの作成を行っております。
Simulinkにおいてinputが2つある場合に、最初の1ステップのみinput1の値を出力し、それ以降はinput2を出力するといったモデルを作成しようと考えております。
この要件を満たすモデルは現在以下のようなものとして作成されてあるのですが、いささか内容がわかりにくいものとなっており、どうにか改良できないかと考えております。
このスイッチの駆動信号としてfalseが入力されておりますが、この値にunit delayをかけており、その初期値をtrueとしております。
すなわち、スイッチの駆動信号は以下のようなものとなっております。(time stepは0.1秒)
この駆動信号について~=0かどうか(~=falseかどうか、すなわち==trueかどうか)をチェックすると、最初の0.1秒のみtrueなので上のinput1がoutputとして出力され、それ以降は下のinput2の信号が出力される仕組みとなっております。
このモデルは正直わかりにくいと感じているのですが、一方で代替案となるよいモデルも今一つ思いつきません。
(一応下図のように思い付きはしたのですが、コード効率的に上のモデルの方がよいように思えております。)
代替モデル1
上のモデルよりはわかりやすい気がするが、コード量的にどうなるか、、
代替モデル2
Stateflowにて、最初Initial Stateに入り、次のステップでSteady Stateに遷移する。
Stateflowのステートを使用すると、コード量が多くなるという話を伺った。
上記のように、今一つ代替となるよいモデルを作成することができません。
どのようなモデルであれば、この代替となるもっと簡潔なモデルとなりますでしょうか?