Заполните состояния Simscape Multibody в векторе состояния Simulink
X = mech_set_states(vector_mgr)
X = mech_set_states(vector_mgr, X)
X = mech_set_states(vector_mgr, X, mech_states)
Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.
X = mech_set_states(vector_mgr)
возвращает вектор состояния Simulink® X
для модели, сопоставленной с vector_mgr
. Записи вектора состояния, соответствующие состояниям Simscape Multibody, заполнены значениями, заданными в vector_mgr
. Записи в X
это не соответствует состояниям Simscape Multibody, установлены в их начальные значения, как сообщается Simulink.
X = mech_set_states(vector_mgr, X)
перезаписывает записи, которые соответствуют состояниям Simscape Multibody в векторе состояния ввода X
со значениями, заданными в vector_mgr
. Записи X
это не соответствует состояниям Simscape Multibody, оставлены без изменений. Задайте []
вместо X
получить начальные значения для немеханических состояний, как сообщается Simulink.
X = mech_set_states(vector_mgr, X, mech_states)
перезаписывает записи, которые соответствуют состояниям Simscape Multibody в векторе состояния ввода X
со значениями, заданными в mech_states
(например, как сообщается vector_mgr.X
). Записи X
это не соответствует состояниям Simscape Multibody, оставлены без изменений.
mech_set_states
принимает один, два, или три входных параметров.
|
Экземпляр класса объекта |
|
Вектор Simulink утверждает значения. Этот вход является дополнительным. |
|
Вектор механических значений состояния, присвоенных |
|
Вектор состояния Simulink для модели вы запрашиваете с механическим набором значений состояния к значениям, заданным функцией. |
Установите значения состояния в модели математического маятника:
load_system('mech_spen'); set_param('mech_spen','InitInArrayFormatMsg','None'); vm = mech_stateVectorMgr('mech_spen/Machine Environment'); vm.x = [pi/4 0]; simulinkState = mech_set_states(vm);
Симулируйте, получив состояние модели по целой симуляции:
simOutIS = sim('mech_spen','InitialState','simulinkState','LoadInitialState','on',... 'StopTime','5','SaveState','on','StateSaveName','xoutIS'); xoutIS = simOutIS.get('xoutIS');
Сравните начальное условие xoutIS(1,:)
с начальным условием, полученным, не устанавливая начальное состояние в xout0(1,:)
:
simOut0 = sim('mech_spen','StopTime','5','SaveState','on',... 'StateSaveName','xout0'); xout0 = simOut0.get('xout0');
mech_get_states
| mech_runtime_states
| mech_stateVectorMgr
| mech_transfer_states
| sim
| states