Когда вы анализируете многомерные данные сигнала с помощью Инспектора Данных моделирования, можно выбрать, представлять ли данные как один сигнал с многомерными демонстрационными значениями или в виде набора сигналов, названных каналами, со скалярными демонстрационными значениями. Используйте Инспектора Данных моделирования программируемый интерфейс, чтобы преобразовать представление сигнала, созданного путем логгирования выхода блока Mux в модели vdp.
Откройте и симулируйте модель
Откройте модель vdp, отметьте выход блока Mux для логгирования и назовите блок Mux otuput сигналом. Затем simultate модель.
Доступ к запуску и данным сигнала
По умолчанию выход блока Mux представлен как каналы в Инспекторе Данных моделирования, потому что это содержит меньше чем четыре канала, таким образом, запуск содержит два сигнала: один для каждого канала в блоке Mux выводится.
Используйте Simulink.sdi.getCurrentSimulationRun функционируйте, чтобы получить доступ к Simulink.sdi.Run объект, который содержит данные моделирования. Затем проверяйте сколько Simulink.sdi.Signal возражает Run объект содержит использование SignalCount свойство на Run объект.
Сигналы с многомерными данными имеют Signal верхнего уровня объект, который не содержит данные. Children свойство объекта сигнала верхнего уровня содержит один или несколько Signal объекты сопоставили с составным сигналом верхнего уровня, которые содержат данные. Поскольку сигналы верхнего уровня не содержат данные, они не считаются, чтобы определить значение SignalCount свойство для Run объект.
Используйте getSignalsByName функционируйте, чтобы получить доступ к Signal верхнего уровня объект для блока Mux выводится.
Используйте Children свойство получить доступ к Signal объект для каждого канала.
Преобразуйте каналы в многомерный сигнал
Используйте collapse функционируйте, чтобы преобразовать представление блока Mux выход, таким образом, вы получаете доступ к данным как к одному сигналу с многомерными демонстрационными значениями.
Run объект теперь содержит только один сигнал с многомерными демонстрационными значениями.
Children свойство Signal верхнего уровня объект теперь содержит только один сигнал.
После того, как вы преобразуете сигнал от каналов до многомерного представления, Signal возразите, что ранее содержал данные для первого канала, содержит данные для многомерного сигнала.
ans = 64×2
2.0000 0
2.0000 -0.0002
2.0000 -0.0012
2.0000 -0.0062
1.9998 -0.0306
1.9943 -0.1398
1.9379 -0.3840
1.8155 -0.5570
1.5990 -0.7204
1.2687 -0.9452
⋮
После преобразования, идентификаторов сигнала для Signal объекты, которые содержали данные для других каналов, становятся недопустимыми.
Преобразуйте многомерный сигнал в каналы
Используйте expand функционируйте, чтобы преобразовать Mux выход назад к каналам.
После преобразования многомерного сигнала к каналам, Signal возразите, что ранее содержал данные для многомерного сигнала, содержит данные для первого канала. Новый Signal объекты создаются для других каналов.
Run возразите и Children свойство Signal верхнего уровня возразите, что оба содержат два сигнала.
Доступ к новому Signal объект, который содержит данные для второго канала.