私の知る限り、stateflowとsimulinkは同時に使用されることが多く、どちらもMatlabを作成するMathWorksによって開発された環境です。それらの違いは何ですか?
6 に答える
Simulinkは、主にコントロール指向のソリューションです。積、和、積分などの数学をグラフィカルに表現します。ただし、条件付き論理機能が不足しています。私の意見では、どんな種類のif
構成もすぐに簡潔になり、管理できなくなります。多くのモデルを見てきましたが、ここにはSimulinkを終了し、Stateflowを開始する明確な線があります。
Stateflowは、ロジック、そしてもちろんステートマシンを非常にうまく処理します。Stateflow内にSimulinkFunctionブロックが追加されたため、Stateflowのステートマシンがプログラムの残りの部分を指示できるようにする強力な組み合わせがあります。
機能性に関しては、どちらも機能的に完全です。つまり、Cでコーディングできるものはすべて、SimulinkまたはStateflowでコーディングできます。ただし、StateflowでPIDループをコーディングすることはお勧めしませんが、可能です。Simulinkでステートマシンを簡単に作成することもできますが、それはお勧めしません。
コード生成に関しては、融合の初期には、StateflowとSimulinkには別々のコードジェネレーターがあり、コード生成時にSimulinkで生成されたCコードをさらに縫い合わせていました。次に、StateflowとSimulinkの間でコードジェネレーターを統合するCGIR(コード生成中間表現)が登場しました。2007年頃に登場し、パフォーマンスの大幅な向上を実現し続けています。生成されたコードは、企業が組み込みシステムでコードを使用して実際にパフォーマンス上のメリットを得ることができるようになるまで、目標パフォーマンスが向上しました。小さなヒットをするのではなく。また、コードの生成時間も大幅に短縮されました。CGIRは、ターゲット言語コンパイラの代わりになりますが、恐れることはありません。TLCAPIは、独自のコード生成ライブラリの大規模なライブラリを開発した人にとって、おそらく永遠に利用できます。
これがお役に立てば幸いです。何か怪しいと思われる場合や、明確にする必要がある場合はお知らせください。
Simulinkは、動的な変化の継続的な変化に対応するために使用されます。Stateflowは、動的な変化の瞬間的な変化に対応するために使用されます。実際のシステムは、継続的な変化と瞬間的な変化の両方に対応する必要があります。SimulinkとStateflowの両方を使用して、適切なツールを適切なジョブに使用できるようにします。例:自動車のサスペンションダイナミクスはSimulinkでモデル化されていますが、ギアトランスミッションはStateflowでモデル化されています。
Stateflowの一般的な詳細については、http: //www.mathworks.com/products/stateflow/examples.htmlをご覧ください。
Stateflowが更新され、R2012bでステートマシンとフローチャートを非常に簡単に作成できるようになりました。
主な更新には、新しいグラフィカルエディター、状態遷移表、アクション言語としてのMATLAB、および統合デバッガーが含まれます。これらの機能の短いビデオとその使用方法については、次のURLをご覧ください。
http://www.mathworks.com/products/stateflow/whatsnew.html
最高、シッダールス
現在、SimulinkとStateflowの両方にも関わっています。これまではSimulinkですべてを実行しましたが、ロジックを実装する必要がある場合(場合によっては)、コーディング後にモデルを分析するのが視覚的に困難になります。しかし、理論的には、Simulinkでもすべてを実行できると思います(間違っている場合は修正してください)。
マクダフの答えは非常に良い違いを説明しています。
よろしく、GR
複雑なステートマシン:Stateflow
複雑な数学的プロセス:Simulinkブロック
その他:StateflowとSimulinkの両方で問題ありません
私は、SimulinkとStateFlow環境の両方に取り組んできました。どちらもMatlabツールです。その時点でリアクティブシステムまたはイベント駆動型システムを設計する場合は、Simulinkではなくstateflowを使用する必要があります。simulinkと比較してより良い方法でstateflowのイベントを制御できるためです。ただし、simulinkではデバッグは簡単ですが、stateflowでは読みやすさとコード生成が簡単です。