
シミュレーション解析の高速化について
13 views (last 30 days)
Show older comments
matlabスクリプト、simulinkで作成したシミュレーションモデルの解析時間が長く計算を高速化したいと考えています。
シミュレーションの高速化について調べたところ以下の二つの手段が見つかりました。
・pararell computing toolboxを利用した計算の並列化
・matlab coder、simulink coderを利用したモデルのC言語化
それぞれについて不明な点があるので教えてください。
質問1
pararell computing toolboxを利用した計算の並列化は以下のどちらの認識が正しいですか。
・解析の計算を分割して並列に処理することで1回の解析にかかる時間を短縮する
・複数条件のシミュレーションを同時に実行することで複数回の解析にかかる時間を短縮する
質問2
matlab coder、simulink coderを利用したモデルのC言語化は、matlabスクリプトとsimulink coderをC言語に書き換えてmatlab上で実行すると計算が早くなるという認識で合っているのでしょうか。
また、それぞれの手段の大まかな手順についても教えてください。
0 Comments
Accepted Answer
Norihiro Kobayashi
on 13 May 2025
こんにちは、
質問1については、後者の複数シミュレーションを同時に実行する場合に、複数回の解析にかかる時間を短縮する
となります。(※画像処理やニューラルネットなど一部GPUを使った処理の高速化が可能な特殊ケースや運用を除きます。)
質問2については、およそご理解の通りで、まずはSimulinkに関しては、デフォルトの機能で、アクセラレータモード、ラピッドアクセラレータモードをお試し頂き、コード生成による性能改善の効果を確認することが可能です。
まずは以下のリンクをご参照ください。

MATLABについても同様の考え方は適用できますが、数年前と比較してもベースのMATLABコードが高速化されていることもあり、Cコード化の効果が限定的なケースもあります。以下のリンクも参考になりましたら幸いです。
3 Comments
Norihiro Kobayashi
on 13 May 2025
なるほど、ラピッドアクセラレータモードからさらに高速化されるかどうかですね。
ラピッドアクセラレータモード自体がすでにCコード生成の技術をベースに高速化を実現していることもあり、さらなる高速化の要素は残念ながら限定的です。一般的な期待値として、1.2倍でれば良い方かという間隔でおりますがモデル次第と思われます。
コード生成以外にもテクニック上での高速化の方法はあり、バージョンアップ、ソルバの変更を始めとした細かな設定が有効なケースもあります。
以下のリンクはSimscape中心かつ英語ではありますが、有効なケースがありますので参考まで掲載させて頂きます。日本語でのサポートご期待の場合は、テクニカルサポートもご検討ください。
More Answers (0)
See Also
Categories
Find more on 実行時パラメーター in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!