2016-07-27 7 views
0

Simulinkモデルを(スクリプトを使用して)シミュレートしていますが、現在toworkspaceブロックを使用して出力データをワークスペースに保存しておきます。Sim APIを使用してMatlabでシミュレーション出力を使用する方法

私のsimulinkモデルは2つの出力を持っています速度加速

私のスクリプトではモデルをシミュレートしたいが、toworkspaceブロックを使用せずにモデル出力を保存したり、さらに使用したりしたい。

私が試した:

set_param('mdl_name','SaveState','on','StateSaveName','State',... 
     'SaveOutput','on','OutputSaveName','velocity'); 
data=Simulink.SimulationOutput; 

を私はデータが速度値を持つことが期待されるが、それは空の値を返します。

APIを使用して特定のシミュレーション出力にアクセスするには、スクリプトを使用してシミュレートした後、または上記のスクリプトを改善するための提案があるかどうかについて、いくつかの提案が必要です。

答えて

0

いくつかの原因でこの現象が発生する可能性があります。 MATLABコマンドウィンドウで "sldemo_varsize_basic"を実行することをお勧めします。これは、 "ToWorkspace"ブロックのビルトインアプリケーションの例を開始します。このモデルとモデルの "ToWorkspace"ブロックのパラメータと "Configuration Parameters"の "Data Import/Export"ペインを比較してください。 私は "ToWorkspace"ベースのアプローチも使用していましたが、 "シグナルロギング"で結果を保存するように変更しました(私のアプリケーションでは、結果を処理する方が便利でした+新しい信号を記録する)。 Mathworksのlinkedには、「シミュレーションからランタイムデータを保存する」方法の完全なリストが掲載されています。

+0

私はデータロギングを使用して信号にアクセスしていることは知っていますが、モデルを操作することなく何かを期待しています(データロギングのためには信号線プロパティを変更して信号アクセスを変更する必要があります。私はSIMのコマンドを渡って来たが、どのようにそれを正常に使用する手がかりがありません。 –

関連する問題