• 検索結果がありません。

:微小な「遅れ」要素を追加

ドキュメント内 Simulinkモデルの高速化手法 (ページ 43-53)

フィードバックループに微小な

「遅れ」要素を与えて近似します

Transfer Fcnブロック

微小な時定数をもつ1次遅れの 伝達関数を挿入

Unit Delayブロック

離散信号に対して1サンプル分の 遅延を挿入

Memoryブロック

連続信号に対して1積分ステップ分 の遅延を挿入

(可変次数ソルバー(ode15s, ode113 使用時にはお勧めできません)

このケースから得られた教訓

代数ループを構成しないモデルが理想です。

代数ループソルバーの計算コストが高く、シミュレーション速度が著 しく低下する場合があります。

代数解が探索できない場合、エラーでシミュレーションが停止します。

代数ループを含むモデルからは、コード生成ができません。

モデルの本質を押さえ、代数ループの解消を図りましょう。

モデリング前に代数ループの発生しない数式に直すフィードバックループに微小な遅れを与える

アジェンダ

まずはここから

今すぐ簡単に試せる高速化手法

本質を探ろう!

– 3

つのケースから得られる教訓

まだある高速化手法

アドバンストトピックス・関連情報

まとめ

カテゴリ Tips トラブルシュート

想定レベル 初級 中級 上級

対象ソルバー 連続 離散

可変ステップ 固定ステップ

複数回シミュレーションの 実行効率改善を図りましょう

シミュレーションを複数回 実行する際の高速化手法 を紹介します

どんなユース・ケースが ありますか?

モンテ・カルロシミュレーションパラメータ・スタディ

設計パラメータ最適化 – …

並列処理を上手く活用しましょう!

Computer Cluster Workers

Desktop System Workers

Simulation 1 Simulation 2

matlabpool open

parfor idx = 1:iterations load_system(mdl);

set_param([mdl '/Road-Suspension Interaction'],...

'MaskValues',{'Kf',num2str(Cf_sweep(idx)),'Kr','Cr'});

simout(idx) = sim(mdl,'SimulationMode','normal');

end

matlabpool close

Parallel Computing

Toolbox™

MATLAB® Distributed Computing Server™

並列計算プロセスの初期化 並列 for-ループ

シミュレーション実行

計算プロセス ( Worker )の数を増やせば 確実に高速化できます!

Worker

の数が多いほど

高速化の効果が高くなります

– Parallel Computing Toolbox

のみでも12 workers まで使用可能

R2011b以降)

シミュレーション回数が多いほど オーバーヘッド時間の影響が 少なくなり、高速化の効果が 高くなります

0 5 10

0 2 4 6 8 10 12

Number of Workers Used

Speed up (serial time/parallel time)

100 iterations 500 iterations 5000 iterations

0 5 10

10-1 100 101 102 103

Number of Workers Used

Time (minutes)

並列処理を上手く活用しましょう!(番外編)

モデルのビルドプロセスの高速化も実現できます

モデルリファレンス使用時に効果があります(

R2009a

以降)

ビルドプロセスを高速化 することができます

アクセラレータ

ラピッドアクセラレータ – Stateflowチャート初期化

– MATLAB Functionブロック初期化自動コード生成 etc.

各レベルの参照モデルを 並列処理でビルド

関連情報の紹介:

カバーしきれなかった内容がたくさんあります

モデルの更なる快適実行にお役立てください

オンデマンドWebセミナー

Simulinkモデルの高速化: 複数シミュレーションの並列実行」

Speeding Up Simulink Applications(英語)」

技術資料

Simulinkシミュレーション精度の改良例」

Improving Simulation Performance in Simulink(英語)」

– Simulinkヘルプドキュメント

「シミュレーションシミュレーションの構成」

「シミュレーションシステム動作の検証」

「シミュレーションテストとデバッグ」

「パフォーマンスモデルの最適化」

「パフォーマンス速度の向上」

アジェンダ

まずはここから

今すぐ簡単に試せる高速化手法

本質を探ろう!

– 3

つのケースから得られる教訓

まだある高速化手法

アドバンストトピックス・関連情報

まとめ

まとめ

Simulink

にはシミュレーション高速化を図るための様々な

手段が用意されています。

ワンクリックで簡単に高速化できるものから、モデルの本質を捉える 必要があるものまで様々なレベルがあります。

新機能や並列計算オプションなどもフル活用し、精度・速度のトレー ドオフをうまく最適化しましょう。

紹介したコツ・ノウハウが、品質改善・コスト低減・生産性 向上のブレークスルーの一助となれば幸いです。

お悩みの点があれば弊社まで お気軽にお問い合わせください!

ドキュメント内 Simulinkモデルの高速化手法 (ページ 43-53)

関連したドキュメント