質問: [simulink] pulse generator の矩形波が台形波に変換されてしまう ■背景 現在、自動車業界mbdエンジニアのためのsimulink入門でsimulinkを勉強しています。 ■問題 「4.2 使用頻度の多い重要ブロック(53頁)」を演習中ですが、 pulse generatorで作成した矩形波が台形波に変換されてしまいます。 ■サンプル ブロック構成図は以下の通りです(添付もあり)。 原因と解決方法を教えてください。demuxも行いましたが、解決はしませんでした。 ■問題となっている部分 以下に理想と問題の波形を添付します。いずれもscopeによって出力されたものです。 1.defaultのような矩形波(理想) 2.muxのような台形波(問題) 以上、よろしくお願いいたします。
回答: why does the output on my scope not appear to be accurate? - matlab answers - matlab central (mathworks.com) 【結論】scopeブロックの仕様です。これは台形波に見えますが矩形波として正しく演算されています。 【理由】simulinkの特徴の一つに「結果を得る為に不要な演算は行わない」原則があります。例えば、switchブロックで選択されない側のロジックは参照されない限り実行されません。可変ステップでシミュレーションを実行した場合も同様で、不要と判断された時間ステップは飛ばされます。 【図解】下図はscopeのグラフにマーカを付けた結果です。演算されたのはマーカの付いた時間ステップだけです。scopeは単に(マーカで示される)測定点間を直線補間で描画しているだけです。 このような描画を抑止するには、例えばシミュレーションを固定ステップ(十分に細かい時間ステップ)にする方法があります。