exponenta event banner

шаг

График ступенчатой реакции динамической системы; данные ответа на шаг

Описание

Графики ответа на шаг

пример

step(sys) строит график отклика динамической системной модели на ступенчатый вход единичной амплитуды. Модель sys может быть непрерывным или дискретным и SISO или MIMO. Для систем MIMO график отображает ответы на шаги для каждого канала ввода-вывода. step автоматически определяет временные шаги и продолжительность моделирования на основе динамики системы.

пример

step(sys,tFinal) моделирует ответ на шаг от t = 0 к окончательному времени t = tFinal. Функция использует динамику системы для определения промежуточных временных шагов.

пример

step(sys,t) строит график ответа на шаг в моменты времени, указанные в векторе t.

пример

step(sys1,sys2,...,sysN,___) строит график ступенчатой реакции нескольких динамических систем на одном графике. Все системы должны иметь одинаковое количество входов и выходов. Можно использовать несколько динамических систем с любой из предыдущих комбинаций входных аргументов.

пример

step(sys1,LineSpec1,...,sysN,LineSpecN,___) задает цвет, стиль линий и маркер для каждой системы на графике. Вы можете использовать LineSpec с любой из предыдущих комбинаций входных аргументов. Если требуются дополнительные параметры настройки печати, используйте stepplot вместо этого.

пример

step(___,opts) задает дополнительные опции для вычисления отклика шага, такие как амплитуда шага или смещение ввода. Использовать stepDataOptions для создания набора опций opts. Вы можете использовать opts с любой из предыдущих комбинаций input-argument и output-argument.

Данные ответа на шаг

пример

y = step(sys,t) возвращает отклик на шаг динамической модели системы sys в моменты времени, указанные в векторе t. Этот синтаксис не рисует график.

[y,tOut] = step(sys) также возвращает вектор времени tOut соответствующие ответам в y. Если входной вектор не указан t времени, step выбирает длину и временной шаг tOut на основе динамики системы.

[y,tOut] = step(sys,tFinal) вычисляет отклик на шаг до конца времени tFinal. step выбирает временной шаг tOut на основе динамики системы.

[y,t,x] = step(sys) также возвращает траектории состояния x, когда sys является моделью пространства состояния, такой как ss или idss модель.

пример

[y,t,x,ysd] = step(sys) также вычисляет стандартное отклонение ysd ответа на шаг y, когда sys является идентифицированной моделью, такой как idss, idtf, или idnlarx модель.

пример

[___] = step(___,opts) задает дополнительные опции для вычисления отклика шага, такие как амплитуда шага или смещение ввода. Использовать stepDataOptions для создания набора опций opts. Вы можете использовать opts с любой из предыдущих комбинаций input-argument и output-argument.

Примеры

свернуть все

Постройте график ступенчатой реакции системы непрерывного времени, представленной следующей передаточной функцией.

sys = 4s2 + 2s + 10.

Для этого примера создайте tf модель, представляющая передаточную функцию. Можно также построить график ступенчатой реакции других типов динамических системных моделей, таких как усиление нулевого полюса (zpk) или state-space (состояние-пространство) (ss) модели.

sys = tf(4,[1 2 10]);

Постройте график ответа на шаг.

step(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

step график автоматически включает в себя пунктирную горизонтальную линию, указывающую отклик установившегося состояния. В окне рисунка MATLAB ® можно щелкнуть правой кнопкой мыши на графике для просмотра других характеристик ответа на шаг, таких как пиковая реакция и время установки. Для получения дополнительной информации об этих характеристиках см.stepinfo(Панель инструментов системы управления).

Постройте график ступенчатой реакции дискретно-временной системы. Система имеет время выборки 0,2 с и представлена следующими матрицами состояния-пространства.

A = [1.6 -0.7;
      1  0];
B = [0.5; 0];
C = [0.1 0.1];
D = 0;

Создайте модель состояния-пространства и постройте график ответа на шаг.

sys = ss(A,B,C,D,0.2);
step(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

Отклик шага отражает дискретизацию модели, показывая отклик, вычисленный каждые 0,2 секунды.

Проверьте ступенчатую реакцию следующей передаточной функции.

sys = zpk(-1,[-0.2+3j,-0.2-3j],1) * tf([1 1],[1 0.05]) 
sys =
 
            (s+1)^2
  ----------------------------
  (s+0.05) (s^2 + 0.4s + 9.04)
 
Continuous-time zero/pole/gain model.
step(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

По умолчанию step выбирает конечное время, показывающее устойчивое состояние, к которому стремится реакция. Однако эта система имеет быстрые переходные процессы, которые скрыты в этом масштабе времени. Чтобы более внимательно рассмотреть переходную реакцию, ограничьте график шага до t = 15 с.

step(sys,15)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

Кроме того, можно указать точное время проверки ответа на шаг при условии, что они разделены постоянным интервалом. Например, проверьте реакцию от конца переходного процесса до тех пор, пока система не достигнет устойчивого состояния.

t = 20:0.2:120;
step(sys,t)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

Несмотря на то, что этот сюжет начинается с t = 20, step всегда применяет ввод шага в t = 0.

Рассмотрим следующую модель пространства состояния второго порядка:

[x˙1x˙2]= [-0.5572-0.78140.78140] [x1x2] + [1-102] [u1u2] y = [1,96916,4493] [x1x2]

A = [-0.5572,-0.7814;0.7814,0];
B = [1,-1;0,2];
C = [1.9691,6.4493];
sys = ss(A,B,C,0);

Эта модель имеет два входа и один выход, поэтому имеет два канала: от первого входа к выходу, и от второго входа к выходу. Каждый канал имеет свой ответ на шаг.

При использовании stepвычисляет отклики всех каналов.

step(sys)

Figure contains 2 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents sys. Axes 2 with title From: In(2) contains an object of type line. This object represents sys.

Левый график показывает ступенчатую характеристику первого входного канала, а правый график показывает ступенчатую характеристику второго входного канала. Каждый раз, когда вы используете step для построения графика ответов модели MIMO он генерирует массив графиков, представляющих все каналы ввода-вывода модели. Например, создайте модель случайного состояния-пространства с пятью состояниями, тремя входами и двумя выходами и постройте график ответа на шаг.

sys = rss(5,2,3);
step(sys)

Figure contains 6 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents sys. Axes 2 contains an object of type line. This object represents sys. Axes 3 with title From: In(2) contains an object of type line. This object represents sys. Axes 4 contains an object of type line. This object represents sys. Axes 5 with title From: In(3) contains an object of type line. This object represents sys. Axes 6 contains an object of type line. This object represents sys.

В окне рисунка MATLAB можно ограничить график подмножеством каналов, щелкнув его правой кнопкой мыши и выбрав селектор ввода-вывода.

step позволяет отображать отклики нескольких динамических систем на одной оси. Например, сравните отклик системы по замкнутому контуру с PI-контроллером и PID-контроллером. Создайте передаточную функцию системы и настройте контроллеры.

H = tf(4,[1 2 10]);
C1 = pidtune(H,'PI');
C2 = pidtune(H,'PID');

Сформируйте системы с замкнутым контуром и постройте график их ступенчатых ответов.

sys1 = feedback(H*C1,1);
sys2 = feedback(H*C2,1);
step(sys1,sys2)
legend('PI','PID','Location','SouthEast')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent PI, PID.

По умолчанию step выбирает различные цвета для каждой системы, для которой выполняется печать. Цвета и стили линий можно задать с помощью команды LineSpec входной аргумент.

 step(sys1,'r--',sys2,'b')
 legend('PI','PID','Location','SouthEast')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent PI, PID.

Первое LineSpec 'r--' указывает пунктирную красную линию для ответа с PI-контроллером. Второе LineSpec 'b' указывает сплошную синюю линию для ответа с контроллером PID. Легенда отражает указанные цвета и стили линий. Для получения дополнительных параметров настройки печати используйте stepplot.

Пример Сравнение ответов нескольких систем показывает, как построить график ответов нескольких отдельных систем на одной оси. Если в массиве модели расположено несколько динамических систем, step строит графики всех их ответов сразу.

Создайте массив модели. В этом примере используется одномерный массив передаточных функций второго порядка, имеющих различные собственные частоты. Сначала необходимо предварительно выделить память для массива модели. Следующая команда создает строку 1 на 5 функций передачи SISO с нулевым коэффициентом усиления. Первые два размера представляют выходные и входные данные модели. Остальные размеры - это размеры массива.

 sys = tf(zeros(1,1,1,5));

Заполните массив.

w0 = 1.5:1:5.5;    % natural frequencies
zeta = 0.5;        % damping constant
for i = 1:length(w0)
   sys(:,:,1,i) = tf(w0(i)^2,[1 2*zeta*w0(i) w0(i)^2]);
end

(Дополнительные сведения о массивах моделей и их создании см. в разделе Массивы моделей (панель инструментов системы управления).) Постройте график ступенчатых откликов всех моделей в массиве.

step(sys)

Figure contains an axes. The axes contains 5 objects of type line. This object represents sys.

step использует один и тот же стиль линий для ответов всех записей в массиве. Одним из способов различить записи является использование SamplingGrid свойство динамических моделей системы для связывания каждой записи в массиве с соответствующей w0 значение.

sys.SamplingGrid = struct('frequency',w0);

Теперь при построении графика откликов в окне фигуры MATLAB можно щелкнуть трассировку, чтобы увидеть, какому значению частоты она соответствует.

Когда вы даете ему выходной аргумент, step возвращает массив данных ответа. Для системы SISO данные ответа возвращаются в виде вектора столбца длиной, равной числу моментов времени, в которые дискретизируется ответ. Можно указать вектор t точек времени или разрешить step для выбора временных точек на основе динамики системы. Например, извлекают отклик шага системы SISO в 101 момент времени между t = 0 и t = 5 с.

sys = tf(4,[1 2 10]);
t = 0:0.05:5;
y = step(sys,t);
size(y)
ans = 1×2

   101     1

Для системы MIMO ответные данные возвращаются в массиве измерений N-by-Ny-by-Nu, где Ny и Nu - количество выходов и входов динамической системы. Например, рассмотрим следующую модель пространства состояний, представляющую систему с двумя входами и одним выходом.

A = [-0.5572,-0.7814;0.7814,0];
B = [1,-1;0,2];
C = [1.9691,6.4493];
sys = ss(A,B,C,0);

Извлеките ступенчатую реакцию этой системы в 200 временных точках между t = 0 и t = 20 с.

t = linspace(0,20,200);
y = step(sys,t);
size(y)
ans = 1×3

   200     1     2

y(:,i,j) - вектор столбца, содержащий отклик шага от j-го входа к i-му выходу в моменты времени t. Например, извлекают отклик шага от второго входа к выходу.

y12 = y(:,1,2);
plot(t,y12)

Figure contains an axes. The axes contains an object of type line.

Создайте цикл обратной связи с задержкой и постройте график его ответа на шаг.

s = tf('s');
G = exp(-s) * (0.8*s^2+s+2)/(s^2+s);
sys = feedback(ss(G),1);
step(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

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

По умолчанию step применяет входной сигнал, который изменяется от 0 до 1 при t = 0. Для настройки амплитуды и смещения используйте stepDataOptions. Например, вычислить отклик модели пространства состояний SISO на сигнал, который изменяется от 1 до -1 до при t = 0.

A = [1.6 -0.7;
      1  0];
B = [0.5; 0];
C = [0.1 0.1];
D = 0;
sys = ss(A,B,C,D,0.2);

opt = stepDataOptions;
opt.InputOffset = 1;
opt.StepAmplitude = -2;

step(sys,opt)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

Для ответов на произвольные входные сигналы используйте lsim(Панель инструментов системы управления).

Сравните отклик шага параметрической идентифицированной модели с непараметрической (эмпирической) моделью. Также просмотрите их 3 δ доверительные области.

Загрузите данные.

load iddata1 z1

Оценка параметрической модели.

sys1 = ssest(z1,4);

Оценка непараметрической модели.

sys2 = impulseest(z1);

Постройте график ступенчатых ответов для сравнения.

t = (0:0.1:10)';
[y1, ~, ~, ysd1] = step(sys1,t);
[y2, ~, ~, ysd2] = step(sys2,t);
plot(t, y1, 'b', t, y1+3*ysd1, 'b:', t, y1-3*ysd1, 'b:')
hold on
plot(t, y2, 'g', t, y2+3*ysd2, 'g:', t, y2-3*ysd2, 'g:')

Figure contains an axes. The axes contains 6 objects of type line.

Вычислите отклик шага идентифицированной модели временных рядов.

Модель временного ряда, также называемая моделью сигнала, является моделью без измеренных входных сигналов. Ступенчатый график этой модели использует его (неизмеренный) шумовой канал в качестве входного канала, к которому применяется ступенчатый сигнал.

Загрузите данные.

load iddata9;

Оценка модели временных рядов.

sys = ar(z9, 4);

ys является моделью формы A y(t) = e(t) , где e(t) представляет шумовой канал. Для вычисления ответа на шаг, e(t) рассматривается как входной канал и называется e@y1.

Постройте график ответа на шаг.

step(sys)

Figure contains an axes. The axes with title From: e@y1 To: y1 contains an object of type line. This object represents sys.

Проверка линеаризации нелинейной модели ARX путем сравнения малых амплитудных ступенчатых откликов линейной и нелинейной моделей.

Загрузите данные.

load iddata2 z2;

Оцените нелинейную модель ARX.

nlsys = nlarx(z2,[4 3 10],'tree','custom',{'sin(y1(t-2)*u1(t))+y1(t-2)*u1(t)+u1(t).*u1(t-13)','y1(t-5)*y1(t-5)*y1(t-1)'},'nlr',[1:5, 7 9]);

Определение рабочей точки равновесия для nlsys соответствует установившемуся входному значению 1.

u0 = 1;
[X,~,r] = findop(nlsys, 'steady', 1);
y0 = r.SignalLevels.Output;

Получение линейной аппроксимации nlsys в этой рабочей точке.

sys = linearize(nlsys,u0,X);

Проверка полезности sys сравнивая его малоамплитудный ступенчатый отклик с откликом nlsys.

Нелинейная система nlsys работает на равновесном уровне, диктуемом (u0, y0). Ввести ступенчатое возмущение размером 0.1 относительно этого стационарного состояния и вычислить соответствующий отклик.

opt = stepDataOptions;
opt.InputOffset = u0;
opt.StepAmplitude = 0.1;
t = (0:0.1:10)';
ynl = step(nlsys, t, opt);

Линейная система sys выражает зависимость между возмущениями на входе и соответствующим возмущением на выходе. Он не знает о равновесных значениях нелинейной системы.

Постройте график ступенчатой реакции линейной системы.

opt = stepDataOptions;
opt.StepAmplitude = 0.1;
yl = step(sys, t, opt);

Добавление установившегося смещения, y0 , на отклик линейной системы и построить график откликов.

plot(t, ynl, t, yl+y0)
legend('Nonlinear', 'Linear with offset')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Nonlinear, Linear with offset.

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

свернуть все

Динамическая система, заданная как динамическая системная модель SISO или MIMO или массив динамических системных моделей. Динамические системы, которые можно использовать:

  • Непрерывные или дискретные числовые модели LTI, такие как tf, zpk, или ss модели.

  • Обобщенные или неопределенные модели LTI, такие как genss или uss модели. (Для использования неопределенных моделей требуется программное обеспечение Toolbox™ надежного управления.)

    • Для настраиваемых блоков конструкции управления функция оценивает модель при ее текущем значении как для печати, так и для возврата данных отклика.

    • Для неопределенных блоков конструкции управления функция строит график номинального значения и случайных выборок модели. При использовании выходных аргументов функция возвращает данные ответа только для номинальной модели.

  • Модели разреженного состояния и пространства, такие как sparss и mechss модели.

  • Идентифицированные модели LTI, такие как idtf, idss, или idproc модели. Для таких моделей функция также может строить графики доверительных интервалов и возвращать стандартные отклонения частотной характеристики. См. Пошаговые ответы на идентифицированные модели с областями доверия.

step не поддерживает модели данных частотного отклика, такие как frd, genfrd, или idfrd модели.

Если sys - массив моделей, функция отображает отклики всех моделей в массиве на одних и тех же осях. См. раздел Ответ на шаг систем в массиве модели.

Время окончания ответа шага, указанное как положительное скалярное значение. step моделирует ответ на шаг от t = 0 кому t = tFinal.

  • Для систем непрерывного времени функция определяет размер шага и количество точек автоматически из динамики системы. Экспресс tFinal в системных единицах времени, указанных в TimeUnit имущество sys.

  • Для систем дискретного времени функция использует время выборки sys как размер шага. Экспресс tFinal в системных единицах времени, указанных в TimeUnit имущество sys.

  • Для дискретно-временных систем с неуказанным временем выборки (Ts = -1), step интерпретирует tFinal как количество периодов выборки для моделирования.

Вектор времени, при котором вычисляется отклик шага, заданный как вектор положительных скалярных значений. Экспресс t в системных единицах времени, указанных в TimeUnit имущество sys.

  • Для моделей непрерывного времени укажите t в форме Ti:dt:Tf. Для получения ответа на каждом временном шаге функция использует dt в качестве времени выборки дискретного приближения к непрерывной системе (см. Алгоритмы).

  • Для дискретно-временных моделей укажите t в форме Ti:Ts:Tf, где Ts - время выборки sys.

step всегда применяет ввод шага в t = 0, независимо от Ti.

Стиль линии, маркер и цвет, заданные как строка или вектор из одного, двух или трех символов. Символы могут отображаться в любом порядке. Нет необходимости указывать все три признака (стиль линии, маркер и цвет). Например, если опустить стиль линии и указать маркер, на графике будет отображаться только маркер и ни одной линии. Дополнительные сведения о настройке этого аргумента см. в разделе LineSpec входной аргумент plot функция.

Пример: 'r--' задание красной пунктирной линии

Пример: '*b' указывает синие звездочки

Пример: 'y' задает желтую линию

Входной сдвиг и амплитуда подаваемого ступенчатого сигнала, заданного как stepDataOptions набор опций. По умолчанию step применяет вход, который переходит от 0 к 1 в момент времени t = 0. Этот входной аргумент используется для изменения начального и конечного значений ввода шага. Пример см. в разделе Ответ на пользовательский ввод шага.

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

свернуть все

Данные ответа шага, возвращенные в виде массива.

  • Для систем SISO y - вектор столбца той же длины, что и t (если предусмотрено) или tOut (если вы не предоставите t).

  • Для систем с одним входом и несколькими выходами, y является матрицей, содержащей столько строк, сколько имеется отсчетов времени и столько столбцов, сколько имеется выходных данных. Таким образом, j-й столбец y, или y(:,j), содержит отклик шага от входа к выходу j.

  • Для систем MIMO ступенчатые ответы каждого входного канала складываются вдоль третьего измерения y. Размеры y затем N-by-Ny-by-Nu, где:

    • N - количество отсчетов времени.

    • Ny - количество системных выходов.

    • Nu - количество системных входов.

    Таким образом, y(:,i,j) - вектор столбца, содержащий отклик шага от j-го входа к i-му выходу в моменты времени, указанные в t или tOut.

Время, при котором вычисляется отклик шага, возвращаемый как вектор. Если не указан определенный вектор t времени, step выбирает этот временной вектор на основе динамики системы. Время выражается в единицах времени sys.

Траектории состояния, возвращаемые в виде массива. Когда sys - модель состояния-пространства, x содержит эволюцию состояний sys в каждый раз в t или tOut. Размеры x являются N-by-Nx-by-Nu, где:

  • N - количество отсчетов времени.

  • Nx - число состояний.

  • Nu - количество системных входов.

Таким образом, эволюция состояний в ответ на шаг, введенный на k-ом входе, задается массивом x(:,:,k). Вектор строки x(i,:,k) содержит значения состояния на i-м шаге времени.

Стандартное отклонение отклика шага идентифицированной модели, возвращаемое как массив тех же размеров, что и y. Если sys не содержит информации о ковариации параметра, то ysd пуст.

Совет

  • Если требуются дополнительные параметры настройки печати, используйте stepplot вместо этого.

  • Для моделирования реакции системы на произвольные входные сигналы используйте lsim.

Алгоритмы

Для получения образцов моделей непрерывного времени без внутренних задержек, step преобразует такие модели в модели пространства состояний и дискретизирует их, используя удержание нулевого порядка на входах. step выбирает время выборки для этой дискретизации автоматически на основе динамики системы, за исключением случаев, когда вводится вектор времени t в форме t = 0:dt:Tf. В этом случае step использование dt в качестве времени выборки. Результирующие временные шаги моделирования tOut равнобедренные с шагом dt.

Для систем с внутренними задержками программное обеспечение Control System Toolbox™ использует решатели с переменными шагами. В результате временные шаги tOut не являются равнобедренными.

Ссылки

[1] Л. Ф. Шампин и П. Гахинет, «Задержки-дифференциально-алгебраические уравнения в теории управления», Прикладная численная математика, том 56, выпуски 3-4, стр. 574-588.

См. также

Функции

Приложения

Представлен до R2006a