Заполните состояния 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