Управление объектами iddata

Изменение векторов времени и частоты

iddata объект хранит данные временной области или данные частотному диапазону и имеет несколько свойств, которые задают значения времени или частоты. Чтобы изменить значения времени или частоты, необходимо изменить соответствующие значения свойств.

Примечание

Можно изменить свойство SamplingInstants путем установки его в новый вектор с длиной, равной количеству выборок данных. Для получения дополнительной информации смотрите Построение объекта iddata для данных временной области.

В следующих таблицах суммируются временные векторы и вектора частоты, соответственно, и приводятся примеры использования. В каждом примере data является iddata объект.

Примечание

Имена свойства не зависят от регистра. Вы не должны вводить полное имя свойства, если первые несколько букв однозначно идентифицируют свойство.

Временные векторы iddata

СвойствоОписаниеПример синтаксиса
Ts

Шаг расчета.

  • Для одного эксперимента Ts является скалярным значением.

  • Для мультиэксперенциальных данных с Ne эксперименты, Ts является 1-by- Ne массив ячеек, и каждая камера содержит шаг расчета соответствующего эксперимента.

Чтобы задать значение шага расчета 0.05:

set(data,'ts',0.05)

или

data.ts = 0.05
Tstart

Время начала эксперимента.

  • Для одного эксперимента Ts является скалярным значением.

  • Для мультиэксперенциальных данных с Ne эксперименты, Ts является 1-by- Ne массив ячеек, и каждая камера содержит шаг расчета соответствующего эксперимента.

Чтобы изменить время запуска первой выборки данных на 24:

data.Tstart = 24

Временные модули устанавливаются свойством TimeUnit.

SamplingInstants

Значения времени в временном векторе, вычисленные из свойств Tstart и Ts.

  • Для одного эксперимента SamplingInstants является N-by- 1 вектор.

  • Для мультиэксперенциальных данных с Ne эксперименты, это свойство является 1-by- Ne массив ячеек, и каждая камера содержит моменты дискретизации соответствующего эксперимента.

Чтобы извлечь временной вектор для iddata data объекта, использовать:

get(data,'sa')

Чтобы построить график входных данных как функцию времени:

plot(data.sa,data.u)

Примечание

sa - первые две буквы SamplingInstants свойство, которое уникально идентифицирует это свойство.

TimeUnitМодуль времени. Задайте как одно из следующего: 'nanoseconds', 'microseconds', 'milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', и 'years'.

Чтобы изменить модуль временного вектора на milliseconds:

data.ti = 'milliseconds'

Свойства вектора частоты iddata

СвойствоОписаниеПример синтаксиса
Frequency

Значения частоты, при которых заданы преобразования Фурье сигналов.

  • Для одного эксперимента Frequency является скалярным значением.

  • Для мультиэксперенциальных данных с Ne эксперименты, Frequency является 1-by- Ne массив ячеек, и каждая камера содержит частоты соответствующего эксперимента.

Чтобы задать 100 значения частот в журнал пространстве, диапазон между 0.1 и 100, используйте следующий синтаксис:

data.freq =
 logspace(-1,2,100)
FrequencyUnit

Модуль измерения частоты. Задайте как одно из следующих: быть одним из следующих: 'rad/TimeUnit', 'cycles/TimeUnit', 'rad/s', 'Hz', 'kHz', 'MHz', 'GHz', и, 'rpm'. По умолчанию: 'rad/TimeUnit'

Для мультиэкспериментальных данных с Ne эксперименты, Units является 1-by- Ne массив ячеек, и каждая камера содержит частотный модуль для каждого эксперимента.

Установите модуль на Гц:

data.FrequencyUnit = 'Hz'

Обратите внимание, что изменение частотного модуля не масштабирует частотный вектор. Для правильного перевода единиц используйте chgFreqUnit.

Именование, добавление и удаление каналов данных

Что такое входные и выходные каналы?

Многомерная система может содержать несколько входных переменных или несколько выходных переменных, или оба. Когда сигнал входа или выхода включает несколько измеренных переменных, эти переменные называются каналами.

Именование каналов

iddata свойства InputName и OutputName сохраните имена каналов для входа и выходных сигналов. Когда вы строите график данных, вы используете имена каналов, чтобы выбрать переменную, отображаемую на графике. Если у вас есть многомерные данные, полезно присвоить имя каждому каналу, который описывает измеренную переменную. Для получения дополнительной информации о выборе каналов на графике, смотрите Выбор измеренных и Шумовых каналов на графиках.

Вы можете использовать set команда для определения имен отдельных каналов. Например, предположим data содержит два входных канала (напряжение и ток) и один выходной канал (температура). Чтобы задать эти имена каналов, используйте следующий синтаксис:

set(data,'InputName',{'Voltage','Current'},
         'OutputName','Temperature')

Совет

Можно также задать имена каналов следующим образом:

data.una = {'Voltage','Current')
data.yna = 'Temperature'

una эквивалентно свойству InputName, и yna эквивалентно OutputName.

Если вы не задаете имена каналов при создании iddata объект, тулбокс присваивает имена по умолчанию. По умолчанию выходные каналы называются 'y1','y2',...,'yn', и входные каналы названы 'u1','u2',...,'un'.

Добавление каналов

Можно добавить каналы данных к iddata объект.

Например, рассмотрим iddata объект с именем data который содержит входной сигнал с четырьмя каналами. Чтобы добавить пятый входной канал, сохраненный как вектор Input5, используйте следующий синтаксис:

data.u(:,5) = Input5;

Input5 должны иметь одинаковое число строк как другие входы каналы. В этом примере data.u(:,5) ссылается на все выборки как (обозначено :) входного сигнала u и устанавливает значения пятого канала. Этот канал создается при присвоении его значения Input5.

Можно также объединить входные и выходные каналы нескольких iddata объекты в один iddata объект с использованием конкатенации. Для получения дополнительной информации смотрите Увеличение количества каналов или точек данных объектов iddata.

Изменение данных канала

После создания iddata Объект при необходимости можно изменять или удалять определенные входы и выходные каналы. Это можно выполнить, переопределив вход и выходные матрицы и присвоив новые значения.

Например, предположим, что iddata data объекта содержит три выходных канала (именованные y1, y2, и y3), и четыре входных канала (именованные u1, u2, u3, и u4). Для замены data таким образом, он содержит только выборки в y3, u1, и u4, введите в приглашение следующее:

data = data(:,3,[1 4])

Полученный объект данных содержит один выходной канал и два входных канала.

Подчинение объектов iddata

См. «Выбор каналов данных, данных ввода-вывода и экспериментов в объектах iddata».

Конкатенирование объектов iddata

См. Увеличение количества каналов или точек данных объектов iddata.