convertUnits

Класс: Simulink.sdi. Сигнал
Пакет: Simulink.sdi

Преобразуйте единицы сигнала

Синтаксис

signal.convertUnits (модули)

Описание

signal.convertUnits(units) преобразовывает единицы signal к модулям, заданным units. Для списка приемлемых модулей смотрите Позволенные Модули. Можно использовать Simulink.sdi.Signal.convertUnits, чтобы преобразовать единицы на объектах Simulink.sdi.Signal с данными всех встроенных и фиксированные точки.

Входные параметры

развернуть все

Желаемые модули для сигнала.

Пример: M

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

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

Примеры

развернуть все

Этот пример показывает, как использовать метод convertUnits, чтобы преобразовать единицы объекта Simulink.sdi.Signal, с помощью образцового sldemo_autotrans.

Сгенерируйте данные моделирования

Моделируйте модель, чтобы создать выполнение данных. Затем используйте Моделирование Data Inspector программируемый интерфейс, чтобы получить данные выполнения.

% Simulate the model
sim('sldemo_autotrans')
% Get a Simulink.sdi.Run object for the most recently created run
ids = Simulink.sdi.getAllRunIDs;
id = ids(end);
transRun = Simulink.sdi.getRun(id);

Осмотрите Signal Properties

Доберитесь объект Simulink.sdi.Signal для EngineRPM сигнализируют и осматривают его свойства определить модули.

% Get Simulink.sdi.Signal object
signal = transRun.getSignalByIndex(1)
signal = 
  Signal with properties:

               ID: 19362
            RunID: 19399
             Name: 'EngineRPM'
            Units: 'rpm'
         DataType: 'double'
       Complexity: "real"
    ComplexFormat: "real-imaginary"
       SampleTime: '0.04'
            Model: 'sldemo_autotrans'
        BlockPath: 'sldemo_autotrans/Engine'
    FullBlockPath: 'sldemo_autotrans/Engine'
        PortIndex: 1
       Dimensions: 1
          Channel: [1x0 int32]
          Checked: 0
        LineColor: [0.9290 0.6940 0.1250]
       LineDashed: '-'
     InterpMethod: 'linear'
           AbsTol: 0
           RelTol: 0
          TimeTol: 0
       SyncMethod: 'union'
           Values: [1x1 timeseries]
       RootSource: ''
       TimeSource: ''
       DataSource: ''

Преобразуйте единицы сигнала

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

% Convert units
signal.convertUnits('rad/s')

signal.Name = 'Engine,rad/s';

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

Была ли эта тема полезной?