Внешнее управление параметрами .slx модел- Initial state:

Обсуждение вопросов, связанных с Simulink

Модератор: Admin

Игорььь
Пользователь
Сообщения: 125
Зарегистрирован: Вт июн 24, 2008 11:28 am

Внешнее управление параметрами .slx модел- Initial state:

Сообщение Игорььь » Ср фев 08, 2017 4:52 pm

Внешнее управление параметрами .slx модели m-файлом

Пробую менять параметры в slx модели , используя m-файл.
simulation/Model configuration parameters/
Initial state:xFinal1
Final state: xFinal2

Управляю так
В цикле меняю Nend =1,2 ...
задал m-файлом pend=num2str(Nend)
в slx модели ввел
Final state: eval(['xFinal',pend'])

Работает. В цикле изменяю выражение xFinal1, затем xFinal2, ...

Проблема: как на 1-й итерациин НЕ считывать Initial state:xFinal1.

В ручном режиме в slx моделе на начальном временном режиме убирается крестик перед этим параметром "x" Initial state: Final state1.

Как "убрать крестик" из m- файла.
Другими словами, как m- файлом управлять "крестиком" вкл/откл , который стоит перед параметром Initial state
Alex

chernykh
Эксперт
Сообщения: 4526
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Внешнее управление параметрами .slx модел- Initial stat

Сообщение chernykh » Чт фев 09, 2017 1:32 pm

Может не "крестик" убирать, а начальные условия задать нулевые (или какие требуются).
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.

Игорььь
Пользователь
Сообщения: 125
Зарегистрирован: Вт июн 24, 2008 11:28 am

Re: Внешнее управление параметрами .slx модел- Initial stat

Сообщение Игорььь » Чт фев 09, 2017 3:43 pm

Получилось
редактировал set_param
Alex

Игорььь
Пользователь
Сообщения: 125
Зарегистрирован: Вт июн 24, 2008 11:28 am

Re: Внешнее управление параметрами .slx модел- Initial state:

Сообщение Игорььь » Вт фев 06, 2018 4:55 pm

Доброго дня.
Я в Matlab в цикле запускаю модель .slx

На каждой итерации Nint я делаю следующее:
1.ввожу новый интерал времени рассчета Nint*deltaT
2.ввожу начальные условия из предыдущей итерации Nint-1
set_param('zzz','InitialState',['xFinal',num2str(Nint-1)])
3. после рассчета модели запоминаю состояние
set_param('zzz','FinalStateName',['xFinal',num2str(Nint)])

Вопрос.
Как запомнить финишное состояние модели на промежуточной итерации (не последней) и затем произвести новый запук той же модели, но с начальными условиями промежуточной итерации.
Вопрос по другому - можна указать адрес, куда сбросить финишные условия модели и потом при новом запуске модели считать эти начальные условия c указаного адреса?

Я правильно понимаю, что промежуточные состояния 'InitialState не сохраняються в процессе итераций?

Например было 10 итераций
Как запусить тужу модель с ранее рассчитаного сотояния 5-й итерации?
set_param('zzz','InitialState','xFinal05')
Alex