Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

step

동적 시스템의 계단 응답 플롯, 계단 응답 데이터

설명

계단 응답 플롯

예제

step(sys)는 단위 진폭의 계단 입력에 대한 동적 시스템 모델의 응답을 플로팅합니다. 모델 sys는 연속시간 모델 또는 이산시간 모델일 수 있고, SISO 또는 MIMO일 수 있습니다. MIMO 시스템의 경우, 플롯은 각 I/O 채널에 대한 계단 응답을 표시합니다. 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)는 계단 진폭이나 입력 오프셋과 같이 계단 응답 계산에 대한 추가 옵션을 지정합니다. 옵션 세트 opts를 만들려면 stepDataOptions를 사용하십시오. 위에 열거된 구문에 나와 있는 입력 인수와 출력 인수를 원하는 대로 조합하여 opts를 사용할 수 있습니다.

계단 응답 데이터

예제

y = step(sys,t)는 벡터 t에 지정된 시간에서의 동적 시스템 모델 sys의 계단 응답을 반환합니다. 이 구문은 플롯을 그리지 않습니다.

[y,tOut] = step(sys)y의 응답에 대응하는 시간 벡터 tOut도 반환합니다. 입력 시간 벡터 t를 지정하지 않으면 step이 시스템 동특성을 기반으로 tOut의 길이와 시간 스텝을 선택합니다.

[y,tOut] = step(sys,tFinal)은 종료 시간 tFinal까지의 계단 응답을 계산합니다. step은 시스템 동특성을 기반으로 tOut의 시간 스텝을 선택합니다.

[y,t,x] = step(sys)sysss, idss 모델 같은 상태공간 모델인 경우에 상태 궤적 x도 반환합니다.

예제

[y,t,x,ysd] = step(sys)sysidss, idtf, idnlarx 모델 같은 식별된 모델인 경우에 계단 응답 y의 표준편차 ysd도 계산합니다.

예제

[___] = step(___,opts)는 계단 진폭이나 입력 오프셋과 같이 계단 응답 계산에 대한 추가 옵션을 지정합니다. 옵션 세트 opts를 만들려면 stepDataOptions를 사용하십시오. 위에 열거된 구문에 나와 있는 입력 인수와 출력 인수를 원하는 대로 조합하여 opts를 사용할 수 있습니다.

예제

모두 축소

다음 전달 함수로 표현되는 연속시간 시스템의 계단 응답을 플로팅해 보겠습니다.

sys(s)=4s2+2s+10.

이 예제에서는 전달 함수를 나타내는 tf 모델을 만듭니다. 마찬가지로 영점-극점 이득(zpk) 모델 또는 상태공간(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® Figure 창에서 플롯을 마우스 오른쪽 버튼으로 클릭하여 피크 응답 및 정착 시간과 같은 다른 계단 응답 특성을 확인할 수 있습니다. 이러한 특성에 대한 자세한 내용은 stepinfo (Control System Toolbox) 항목을 참조하십시오.

이산시간 시스템의 계단 응답을 플로팅해 보겠습니다. 시스템은 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에 계단 입력을 적용합니다.

다음 2차 상태공간 모델이 있다고 가정하겠습니다.

[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);

이 모델에는 2개의 입력과 1개의 출력이 있으므로 2개의 채널(첫 번째 입력에서 출력으로의 채널과 두 번째 입력에서 출력으로의 채널)이 있습니다. 각 채널은 고유한 계단 응답을 가집니다.

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 모델의 응답을 플로팅할 때마다 모델의 모든 I/O 채널을 나타내는 플롯의 배열이 생성됩니다. 예를 들어, 5개의 상태, 3개의 입력, 2개의 출력을 갖는 무작위 상태공간 모델을 만들고 그 계단 응답을 플로팅해 보겠습니다.

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 Figure 창에서 플롯을 마우스 오른쪽 버튼으로 클릭하고 I/O 선택기를 선택하여 플롯을 일부 채널로 제한할 수 있습니다.

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은 모든 시스템의 응답을 한꺼번에 플로팅합니다.

모델 배열을 만듭니다. 이 예제에서는 고유 주파수가 서로 다른 2차 전달 함수로 구성된 1차원 배열을 사용합니다. 먼저, 모델 배열을 위한 메모리를 사전할당합니다. 다음 명령은 영이득 SISO 전달 함수로 구성된 1×5행을 만듭니다. 처음 두 개의 차원은 모델 출력과 모델 입력을 나타냅니다. 나머지 차원은 배열 차원입니다.

 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

(모델 배열과 이를 만드는 방법에 대한 자세한 내용은 Model Arrays (Control System Toolbox) 항목을 참조하십시오.) 배열 내 모든 모델의 계단 응답을 플로팅합니다.

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 Figure 창에서 응답을 플로팅한 후 추적 선을 클릭하면 해당 응답에 대응하는 주파수 값을 확인할 수 있습니다.

출력 인수를 제공하면 step은 응답 데이터로 구성된 배열을 반환합니다. SISO 시스템의 경우, 응답 데이터는 응답이 샘플링되는 시간 지점의 개수와 동일한 길이의 열 벡터로 반환됩니다. 시간 지점으로 구성된 벡터 t를 직접 제공하거나, step이 시스템 동특성을 기반으로 시간 지점을 선택하도록 할 수 있습니다. 예를 들어, t = 0과 t = 5초 사이에 있는 101개 시간 지점에서의 SISO 시스템의 계단 응답을 추출해 보겠습니다.

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

   101     1

MIMO 시스템의 경우, 응답 데이터는 차원이 N×Ny×Nu인 배열로 반환됩니다. 여기서 NyNu는 각각 동적 시스템의 출력 개수와 입력 개수입니다. 예를 들어, 2-입력 1-출력 시스템을 나타내는 다음 상태공간 모델이 있다고 가정하겠습니다.

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

t = 0 및 t = 20초 사이에 있는 200개 시간 지점에서의 이 시스템의 계단 응답을 추출합니다.

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

   200     1     2

y(:,i,j)는 시간 tj번째 입력에서 i번째 출력으로의 계단 응답을 포함하는 열 벡터입니다. 예를 들어, 두 번째 입력에서 출력으로의 계단 응답을 추출해 보겠습니다.

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.

표시된 시스템 계단 응답은 복잡합니다. 내부 지연이 있는 시스템의 계단 응답은 반복되는 비약과 같은 이상한 동작을 보일 수 있습니다. 이러한 동작은 시스템의 특징이며 소프트웨어 이상이 아닙니다.

기본적으로, stept = 0에 0에서 1로 바뀌는 입력 신호를 적용합니다. 진폭과 오프셋을 사용자 지정하려면 stepDataOptions를 사용하십시오. 예를 들어, t = 0에 1에서 -1로 바뀌는 신호에 대해 SISO 상태공간 모델의 응답을 계산해 보겠습니다.

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 (Control System Toolbox)을 사용하십시오.

식별된 모수적 모델의 계단 응답을 비모수적(경험적) 모델과 비교합니다. 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);

ysA 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]);

정상 상태 입력값 1에 대응되는 nlsys의 평형 동작점을 찾습니다.

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

이 동작점에서 nlsys의 선형 근사를 얻습니다.

sys = linearize(nlsys,u0,X);

sys의 작은 진폭 계단 응답을 nlsys의 작은 진폭 계단 응답과 비교하여 sys의 유용성을 검증합니다.

비선형 시스템 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 모델). (불확실 모델을 사용하려면 Robust Control Toolbox™가 필요합니다.)

    • 조정 가능한 제어 설계 블록의 경우, 이 함수는 응답 데이터를 플로팅하거나 반환할 때 모두 현재 값에서 모델을 계산합니다.

    • 불확실한 제어 설계 블록의 경우, 이 함수는 모델의 공칭 값과 임의 샘플을 플로팅합니다. 출력 인수를 사용할 경우, 이 함수는 공칭 모델에 대해서만 응답 데이터를 반환합니다.

  • 희소 상태공간 모델(예: sparss, mechss 모델).

  • 식별된 LTI 모델(예: idtf, idss, idproc 모델). 이러한 모델의 경우, 이 함수는 신뢰구간을 플로팅하고 주파수 응답의 표준편차를 반환할 수도 있습니다. 신뢰영역이 있는 식별된 모델의 계단 응답 항목을 참조하십시오.

stepfrd, genfrd, idfrd 모델 같은 주파수 응답 데이터 모델을 지원하지 않습니다.

sys가 모델로 구성된 배열인 경우 이 함수는 배열에 포함된 모든 모델의 응답을 동일한 좌표축에 플로팅합니다. 모델 배열 내 시스템의 계단 응답 항목을 참조하십시오.

계단 응답의 종료 시간으로, 양의 스칼라 값으로 지정됩니다. stept = 0부터 t = tFinal까지의 계단 응답을 시뮬레이션합니다.

  • 연속시간 시스템의 경우, 이 함수는 시스템 동특성을 기반으로 스텝 크기와 지점의 수를 자동으로 결정합니다. tFinalsysTimeUnit 속성에 지정된 시스템 시간 단위로 표현합니다.

  • 이산시간 시스템의 경우, 이 함수는 sys의 샘플 시간을 스텝 크기로 사용합니다. tFinalsysTimeUnit 속성에 지정된 시스템 시간 단위로 표현합니다.

  • 샘플 시간이 지정되지 않은(Ts = -1) 이산시간 시스템의 경우 steptFinal을 시뮬레이션할 샘플링 주기의 개수로 해석합니다.

계단 응답을 계산할 시간 벡터로, 양의 스칼라 값으로 구성된 벡터로 지정됩니다. tsysTimeUnit 속성에 지정된 시스템 시간 단위로 표현합니다.

  • 연속시간 모델의 경우, tTi:dt:Tf 형식으로 지정합니다. 각 시간 스텝의 응답을 얻기 위해, 이 함수는 dt를 연속 시스템에 대한 이산 근사의 샘플 시간으로 사용합니다(알고리즘 참조).

  • 이산시간 모델의 경우, tTi:Ts:Tf 형식으로 지정합니다. 여기서 Tssys의 샘플 시간입니다.

stepTi와 관계없이 항상 t = 0에서 계단 입력을 적용합니다.

선 스타일, 마커 및 색으로, string형이나 1개, 2개 또는 3개의 문자로 구성된 벡터로 지정됩니다. 문자는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다. 이 인수를 구성하는 방법에 대한 자세한 내용은 plot 함수의 LineSpec 입력 인수를 참조하십시오.

예: 'r--'은 빨간색 파선을 지정합니다.

예: '*b'는 파란색 별표 마커를 지정합니다.

예: 'y'는 노란색 선을 지정합니다.

적용된 계단 신호의 입력 오프셋과 진폭으로, stepDataOptions 옵션 세트로 지정됩니다. 기본적으로, step은 시간 t = 0에 0에서 1로 바뀌는 입력을 적용합니다. 계단 입력의 초기값과 최종 값을 변경하려면 이 입력 인수를 사용하십시오. 예제는 사용자 지정 계단 입력에 대한 응답 항목을 참조하십시오.

출력 인수

모두 축소

계단 응답 데이터로, 배열로 반환됩니다.

  • SISO 시스템의 경우, yt(제공된 경우) 또는 tOut(t가 제공되지 않은 경우)과 동일한 길이의 열 벡터입니다.

  • 단일 입력 다중 출력 시스템의 경우, y는 행 수가 시간 샘플의 개수와 같고 열 수가 출력의 개수와 같은 행렬입니다. 따라서 y의 j번째 열, 즉 y(:,j)는 입력에서 j번째 출력으로의 계단 응답을 포함합니다.

  • MIMO 시스템의 경우, 각 입력 채널의 계단 응답은 y의 세 번째 차원을 따라 누적됩니다. 이때 y의 차원은 N×Ny×Nu입니다. 여기서 각각은 다음과 같습니다.

    • N은 시간 샘플의 개수입니다.

    • Ny는 시스템 출력의 개수입니다.

    • Nu는 시스템 입력의 개수입니다.

    따라서, y(:,i,j)t 또는 tOut에서 지정된 시간에 j번째 입력에서 i번째 출력으로의 계단 응답을 포함하는 열 벡터입니다.

계단 응답이 계산되는 시간으로, 벡터로 반환됩니다. 시간 벡터 t를 특정하지 않으면, step은 시스템 동특성을 기반으로 이 시간 벡터를 선택합니다. 시간은 sys의 시간 단위로 표현됩니다.

상태 궤적으로, 배열로 반환됩니다. sys가 상태공간 모델인 경우 xt 또는 tOut의 각 시간에서의 sys의 상태 변화를 포함합니다. x의 차원은 N×Nx×Nu입니다. 여기서 각각은 다음과 같습니다.

  • N은 시간 샘플의 개수입니다.

  • Nx는 상태 개수입니다.

  • Nu는 시스템 입력의 개수입니다.

따라서, k번째 입력에서 주입된 계단에 대한 응답으로 바뀌는 상태 변화는 배열 x(:,:,k)로 지정됩니다. 행 벡터 x(i,:,k)는 i번째 시간 스텝에서의 상태 값을 포함합니다.

식별된 모델의 계단 응답의 표준편차로, y와 동일한 차원의 배열로 반환됩니다. sys가 파라미터 공분산 정보를 포함하지 않는 경우 ysd는 비어 있습니다.

  • 추가 플롯 사용자 지정 옵션이 필요하면 대신 stepplot을 사용하십시오.

  • 임의의 입력 신호에 대한 시스템 응답을 시뮬레이션하려면 lsim을 사용하십시오.

알고리즘

내부 지연이 없는 연속시간 모델의 샘플을 얻기 위해, step은 이러한 모델을 상태공간 모델로 변환하고, 변환된 모델을 입력에 대해 영차 유지를 사용하여 이산화합니다. step은 시스템 동특성을 기반으로 이산화를 위한 샘플링 시간을 자동으로 선택합니다. 하지만 입력 시간 벡터 tt = 0:dt:Tf 형식으로 제공한 경우는 예외입니다. 이 경우 stepdt를 샘플링 시간으로 사용합니다. 결과로 생성되는 시뮬레이션 시간 스텝 tOut은 간격 dt를 사용해 같은 간격으로 샘플링됩니다.

내부 지연이 있는 시스템의 경우 Control System Toolbox™는 가변 스텝 솔버를 사용합니다. 그 결과 시간 스텝 tOut은 같은 간격으로 샘플링되지 않습니다.

참고 문헌

[1] L.F. Shampine and P. Gahinet, "Delay-differential-algebraic equations in control theory," Applied Numerical Mathematics, Vol. 56, Issues 3–4, pp. 574–588.

참고 항목

함수

R2006a 이전에 개발됨