ある特定のブロックの計算速度を速くし、グラフを出力することはできますでしょうか。
古いコメントを表示
simulink上のある2つのブロック(グラフを出力します)について、1つのブロックの計算をもう片方のブロックよりも速く終わらせ、グラフを重ねあわせる方法はありませんでしょうか。
2つのブロックには外部から任意の値が入力され(どんな値が入力されるかは、その時刻にならなければ分からないようになっています。)、ブロック内の関数とその値を基にグラフを出力します。
具体的には添付させて頂いた資料の手法が知りたいです。
よろしくお願いいたします。
2 件のコメント
Atsushi Ueno
2022 年 7 月 5 日
添付図も分かり易く、情報量としては問題無いのですが、どうも質問の本質が理解できません。
「ある特定のブロックの計算速度を速くする」という事がどういう事か考えました。
Simulinkは並べられた各ブロックを周期的に実行しますが、流れる時間は一定で、通常はサンプル時間毎に1回の処理が実行されます。ですがそれだけではなく、複数の処理の集合でも傍から見て一瞬で処理されたとみなす事が出来ます。(Simulink上のシミュレーション時間であって、実時間に間に合うかどうかは別の話です)
「ある特定のブロックの計算速度を速くする」を実現するには、1周期タスク内で時間の掛かる処理を纏めて実行すれば良いです。具体的にはループ処理を実行したりサブルーチン(Function-callサブシステムやAtomicサブシステム)を実行します。当然処理に実時間は掛かりますが、Simulink上の時間としては1サンプル時間で済ませた事になります。
この事を説明する資料や動画があれば良いのですが...
M M
2022 年 7 月 6 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で 一般分野への適用 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





