2012-05-11 32 views
0

私はSimulink(Matlab)と一緒に作業していますが、問題があります: シミュレーションを開始し、すべての 'T'時間を停止し、Simstateとしてシステムの状態を保存し、いくつかの変数を変更してシステム状態を復元します。Matlab/Simulink SimStateエラー

set_param('penddemo','LoadInitialState','on','InitialState','init_state'); % load the initial state 
set_param('penddemo','SaveFinalState','on','FinalStateName', 'xFinal','SaveCompleteFinalSimState', 'on'); % save the complete simstate 
set_param('penddemo/Pendulum','Mcart','0.600'); % change the mass 
sim('penddemo',time); %starting the simulation 

問題:たとえば、私はベースモデルのアニメーションを持つ倒立振子 '(penddemo.mdl)で働いている、と私は状態を復元するとき、私は振り子の質量を変更する必要があり、ここではいくつかのコードです

Simulink SimStateを読み込めないSimStateの保存後に初期モデル 'penddemo'が変更されました。シミュレーションをもう一度実行し、SimStateを再保存します。

あなたはのSimStateと、使用してシミュレーションを復元する時間を節約した時間の間にモデルの構造を変更することはできません。

私はのSimStateの使用には制限があることを知っていますSimState。たとえば、シミュレーションを繰り返したり、新しいSimStateを保存することなく、SimStateを保存した後でブロックを追加または削除することはできません。

しかし、私は単一の変数を変更することは構造的な変更だとは思わない。 誰かがSimstateの復旧前にいくつかの変数を変更する別の方法を知っているかもしれません。

おかげで、すべての

答えて

0

私はあなただけの「調整可能な」パラメータを変更することができると信じています。 「インラインパラメータ」をオフにしてみてください。詳細はdocumentation on tunable parametersを参照してください。

+0

答えはありがたいですが、振り子の質量は調整可能なパラメータで、「インラインパラメータ」は既にオフです。 – Fabio