шаг

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

Синтаксис

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) step интерпретирует 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)

Советы

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

Алгоритмы

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

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

Ссылки

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

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

| | | |

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