exponenta event banner

convertUnits

Преобразовать единицы измерения Simulink.sdi.Signal объект

Описание

пример

convertUnits(sig,units) преобразует сохраненные единицы Simulink.sdi.Signal объект sig к единицам, указанным в units. При преобразовании сохраненных единиц экранные единицы обновляются. Список поддерживаемых единиц измерения см. в разделе Разрешенные единицы измерения. Вы можете использовать convertUnits функция для преобразования единиц измерения Simulink.sdi.Signal объекты, содержащие данные всех встроенных и фиксированных типов.

Примечание

Преобразование единиц не поддерживает отмену и может привести к потере точности.

Примеры

свернуть все

Используйте convertUnits функция для преобразования хранимых единиц Simulink.sdi.Signal объект. В этом примере используются данные, созданные при моделировании модели. sldemo_autotrans. При преобразовании сохраненных единиц измерения Signal инспектор данных моделирования выполняет преобразование данных и обновляет единицы отображения сигнала на всех графиках, отображающих сигнал. Изменение сохраненных единиц измерения Signal не влияет на модель, создавшую сигнал.

Создание данных моделирования

Моделирование sldemo_autotrans для создания прогона в Инспекторе расчетных данных. Затем используйте Simulink.sdi.Run.getLatest для доступа к Run объект, соответствующий моделированию.

out = sim('sldemo_autotrans');

autoRun = Simulink.sdi.Run.getLatest;

Проверка свойств сигнала

Получить Simulink.sdi.Signal объект для EngineRPM сигнал и проверьте StoredUnits и DisplayUnits свойства.

engine_sig = getSignalsByName(autoRun,'EngineRPM');

engine_sig.StoredUnits
ans = 
'rpm'
engine_sig.DisplayUnits
ans = 
'rpm'

Преобразовать сохраненные единицы

Используйте convertUnits для преобразования EngineRPM сигнальные блоки в rad/s. При преобразовании сохраненных единиц экранные единицы обновляются. Затем измените имя сигнала, чтобы отразить новые единицы измерения.

convertUnits(engine_sig,'rad/s')
engine_sig.Name = 'EngineFreq,rad/s';

Проверьте измененные свойства сигнала.

engine_sig.StoredUnits
ans = 
'rad/s'
engine_sig.DisplayUnits
ans = 
'rad/s'
engine_sig.Name
ans = 
'EngineFreq,rad/s'

Входные аргументы

свернуть все

Сигнал с преобразуемыми единицами, указанный как Simulink.sdi.Signal объект.

Требуемые единицы сигнала, заданные как строковый или символьный вектор. Список принятых единиц измерения см. в разделе Разрешенные единицы измерения.

Пример: 'm'

Пример: "ft/s"

Типы данных: char | string

Представлен в R2018a