Удаление сигнала в инспекторе данных моделирования
В этом примере показано, как использовать Simulink.sdi.copyRun и Simulink.sdi.deleteSignal для создания копии прогона, содержащей подмножество сигналов из исходного прогона. Копию можно использовать для анализа и выполнения сравнений по подмножеству сигналов при сохранении на исходном прогоне, содержащем все сигналы. Например, модель sldemo_fuelsys сконфигурирован для регистрации десяти сигналов. Для сравнения ответов системы на различные типы отказов не требуется выполнять сравнение по всем зарегистрированным сигналам. Удаление сигналов, которые не представляют отклик системы перед выполнением сравнения, экономит время обработки и упрощает просмотр результатов.
Создание прогонов
Загрузить модель sldemo_fuelsys и выполните моделирование для создания прогонов в инспекторе данных моделирования. Первый прогон моделирует отказ датчика угла дроссельной заслонки, а второй прогон моделирует отказ датчика кислорода выхлопных газов.
load_system('sldemo_fuelsys') modelWorkspace = get_param('sldemo_fuelsys','modelworkspace'); modelWorkspace.assignin('throttle_sw',0) modelWorkspace.assignin('ego_sw',1) sim('sldemo_fuelsys') modelWorkspace.assignin('throttle_sw',1) modelWorkspace.assignin('ego_sw',0) sim('sldemo_fuelsys')
Копирование прогона
Использование программного интерфейса инспектора данных моделирования для получения Simulink.sdi.Run объекты для моделирования, а затем создайте копии ветвей.
% Get runs runIDs = Simulink.sdi.getAllRunIDs; runID1 = runIDs(end-1); runID2 = runIDs(end); run1 = Simulink.sdi.getRun(runID1); run2 = Simulink.sdi.getRun(runID2); % Create a copy of each run, truncRun [truncRun1,runIndex1,signalIDs1] = Simulink.sdi.copyRun(runID1); [truncRun2,runIndex2,signalIDs2] = Simulink.sdi.copyRun(runID2);
Удаление сигналов в копии прогона
sldemo_fuelsys модель сконфигурирована для регистрации значений переключателей отказов вместе с несколькими сигналами, представляющими отклик системы. При сравнении реакции системы, когда датчик угла дроссельной заслонки выходит из строя, с ее реакцией, когда датчик кислорода выхлопных газов выходит из строя, сравнение состояний переключения отказов не дает новой информации. Поэтому удалите сигналы переключения перед выполнением сравнения, чтобы исключить ненужные вычисления.
Simulink.sdi.deleteSignal(signalIDs1(1)) Simulink.sdi.deleteSignal(signalIDs1(3)) Simulink.sdi.deleteSignal(signalIDs1(5)) Simulink.sdi.deleteSignal(signalIDs1(8)) Simulink.sdi.deleteSignal(signalIDs2(1)) Simulink.sdi.deleteSignal(signalIDs2(3)) Simulink.sdi.deleteSignal(signalIDs2(5)) Simulink.sdi.deleteSignal(signalIDs2(8))
Сравнить усеченные ветви
Можно использовать усеченные ветви, созданные с помощью Simulink.sdi.copyRun и Simulink.sdi.deleteSignal для сравнения реакции системы на различные типы отказов. Затем откройте инспектор данных моделирования для просмотра результатов сравнения.
truncRunDiff = Simulink.sdi.compareRuns(truncRun1,truncRun2); Simulink.sdi.view
sigID - Сигнал или сигналы для удаленияУдаляемый сигнал, заданный как скалярный идентификатор сигнала или вектор идентификаторов сигнала. Инспектор данных моделирования присваивает каждому сигналу уникальный числовой идентификатор сигнала при создании прогона для зарегистрированных или импортированных данных.
Идентификатор сигнала можно получить с помощью одной из следующих функций:
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.