step

Переходный процесс динамической системы; данные о переходном процессе

Синтаксис

step(sys)
step(sys,Tfinal)
step(sys,t)
step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,Tfinal)
step(sys1,sys2,...,sysN,t)
y = step(sys,t)
[y,t] = step(sys)
[y,t] = step(sys,Tfinal)
[y,t,x] = step(sys)
[y,t,x,ysd] = step(sys)
[y,...] = step(sys,...,options)

Описание

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

step(sys) строит переходной процесс произвольной модели динамической системы, sys. Эта модель может быть непрерывной - или дискретное время, и SISO или MIMO. Переходной процесс мультивходных систем является набором переходных процессов для каждого входного канала. Длительность симуляции определяется автоматически, на основе системных полюсов и нулей.

step(sys,Tfinal) симулирует переходной процесс от t = 0 к итоговому времени t = Tfinal. Специальный Tfinal в модулях системного времени, заданных в TimeUnit свойство sys. Для систем дискретного времени с незаданным шагом расчета (Ts = -1шаг интерпретирует Tfinal как количество выборки периодов, чтобы симулировать.

step(sys,t) использует предоставленный пользователями временной вектор t для симуляции. Специальный t в модулях системного времени, заданных в TimeUnit свойство sys. Для моделей дискретного времени, t должен иметь форму Ti:Ts:Tf, где Ts шаг расчета. Для моделей непрерывного времени, t должен иметь форму Ti:dt:Tf, где dt становится шагом расчета дискретного приближения к непрерывной системе (см. Алгоритмы). step команда всегда применяет вход шага в t=0, независимо от Ti.

Построить переходной процесс нескольких моделей sys1..., sysN на одной фигуре использовать

step(sys1,sys2,...,sysN)

step(sys1,sys2,...,sysN,Tfinal)

step(sys1,sys2,...,sysN,t)

Все системы, построенные на одном графике, должны иметь то же количество вводов и выводов. Можно, однако, построить соединение непрерывных - и системы дискретного времени на одном графике. Этот синтаксис полезен, чтобы сравнить переходные процессы нескольких систем.

Можно также задать отличительный цвет, LineStyle, маркер или все три для каждой системы. Например,

step(sys1,'y:',sys2,'g--')

строит переходной процесс sys1 с точечной желтой линией и переходным процессом sys2 с зеленой пунктирной линией.

Когда вызвано с выходными аргументами:

y = step(sys,t)

[y,t] = step(sys)

[y,t] = step(sys,Tfinal)

[y,t,x] = step(sys)

step возвращает выходной ответ y, временной вектор t используемый в симуляции (если не предоставленный как входной параметр), и траектории состояния x (только для моделей в пространстве состояний). Никакой график не генерирует на экране. Для систем одно входа, y имеет столько же строк сколько выборки времени (длина t), и столько же столбцов сколько выходные параметры. В мультивходном случае переходные процессы каждого входного канала сложены по третьему измерению y. Размерности y затем

(lengthoft)×(numberofoutputs)×(numberofinputs)

и y(:,:,j) дает ответ на модульную команду шага, введенную в jвходной канал th. Точно так же размерности x

(lengthoft)×(numberofstates)×(numberofinputs)

Для идентифицированных моделей (см. idlti и idnlmodlel) [y,t,x,ysd] = step(sys) также вычисляет стандартное отклонение ysd из ответа y (ysd пусто если sys не содержит информацию о ковариации параметра).

[y,...] = step(sys,...,options) задает дополнительные опции для вычисления переходного процесса, такие как амплитуда шага или входное смещение. Используйте stepDataOptions чтобы создать опцию устанавливает options.

Примеры

свернуть все

Постройте переходной процесс следующей модели в пространстве состояний второго порядка:

[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(sys)

Левый график показывает переходной процесс первого входного канала, и правильный график показывает переходной процесс второго входного канала.

Создайте обратную связь с задержкой и постройте ее переходной процесс.

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

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

Сравните переходной процесс параметрической идентифицированной модели к непараметрической (эмпирической) модели. Также просмотрите их 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:')

Подтвердите линеаризацию нелинейной модели 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')

Вычислите переходной процесс идентифицированной модели timeseries.

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

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

load iddata9;

Оцените модель timeseries.

sys = ar(z9, 4);

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

Постройте переходной процесс.

step(sys)

Советы

Можно изменить свойства графика, например, модули. Для получения информации о способах изменить свойства ваших графиков, смотрите Способы Настроить Графики.

Алгоритмы

Модели непрерывного времени без внутренних задержек преобразованы в пространство состояний и дискретизировали нулевой порядок использования, держатся входные параметры. Шаг расчета выбран автоматически на основе системной динамики, кроме тех случаев, когда временной вектор t = 0:dt:Tf предоставляется (dt затем используется в качестве выборки периода). Получившееся время симуляции продвигается t equisampled с разрядкой dt.

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

Ссылки

[1] Л.Ф. Шемпин и П. Гэхинет, "Уравнения Делэ-дифферентиэл-алджебрэйка в теории управления", Прикладная Числовая Математика, Издание 56, Выпуски 3-4, стр 574–588.

Смотрите также

| | | |

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