주요 콘텐츠

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

series

두 모델의 직렬 연결

설명

sys = series(sys1,sys2)는 다이어그램에 보이는 것처럼 sys1의 출력을 sys2의 입력에 연결하여 두 동적 시스템 모델의 직렬 상호 연결을 형성합니다.

이 명령은 직접 곱셈 sys = sys2*sys1과 동일합니다. MIMO 시스템의 경우 sys2의 입력 개수가 sys1의 출력 개수와 같아야 합니다. 결과로 얻는 sys는 입력 u와 출력 y를 가집니다.

예제

sys = series(sys1,sys2,out1,in2)는 다음 다이어그램에 보이는 것처럼 sys1 출력의 서브셋을 sys2 입력의 서브셋에 연결하여 보다 일반적인 직렬 상호 연결을 형성합니다.

out1은 연결할 sys1의 출력 인덱스를 지정하는 벡터입니다. 마찬가지로 in1은 이 출력에 연결할 sys2의 입력 인덱스를 지정합니다. 결과로 얻는 sys는 입력 u와 출력 y를 갖습니다. seriessys1의 연결되지 않은 출력 z1sys2의 연결되지 않은 입력 v2를 삭제합니다.

예제

sys = series(sys1,sys2,"name")은 모델의 OutputNameInputName 속성에 정의된 대로 신호 이름을 매칭하여 sys1의 출력 서브셋을 sys2의 입력 서브셋에 연결합니다. seriessys1의 연결되지 않은 출력과 sys2의 연결되지 않은 입력을 삭제합니다.

예제

예제

모두 축소

두 개의 SISO 시스템을 만듭니다. 하나는 상태공간 모델이고 다른 하나는 전달 함수입니다.

sys1 = rss(3);
sys2 = tf(1,[1 1 1]);

두 시스템을 직렬로 연결합니다.

sys = series(sys1,sys2);
size(sys)
State-space model with 1 outputs, 1 inputs, and 5 states.

전달 함수를 상태공간 모델에 연결하면 또 다른 상태공간 모델이 생성됩니다. 서로 다른 유형의 모델을 결합한 결과에 대한 자세한 내용은 Rules That Determine Model Type 항목을 참조하십시오.

직렬 상호 연결은 곱셈 sys2*sys1과 동일합니다. 주파수 응답을 조사하여 이 동등성을 확인합니다.

sysm = sys2*sys1;
bodeplot(sys,'-',sysm,'--')

MATLAB figure

두 개의 MIMO 시스템을 직렬로 연결합니다. sys1의 출력 개수가 sys2의 입력 개수와 같으면, 모든 sys1 출력을 모든 sys2 입력에 연결할 수 있습니다.

sys1 = rss(3,2,3);
sys2 = rss(3,3,2);
sys = series(sys1,sys2);

그 결과 시스템은 sys1과 동일한 수의 입력을 갖고, sys2와 동일한 수의 출력을 갖습니다.

size(sys)
State-space model with 3 outputs, 3 inputs, and 6 states.

연결하려는 신호에 일치하는 이름을 지정하여 직렬 연결을 형성할 수 있습니다. 4개 출력과 2개 입력을 갖는 시스템 sys1 및 2개 출력과 3개 입력을 갖는 시스템 sys2를 만들고 다이어그램에 보이는 것처럼 직렬 연결을 형성합니다.

두 시스템의 상태공간 모델을 만들고 입력 및 출력 신호의 이름을 지정합니다.

% sys1: 4-output, 2-input
sys1 = rss(4,4,2);
sys1.InputName = ["in1a","in1b"];
sys1.OutputName = ["out1a","out1b","out1c","out1d"];
% sys2: 2-output, 3-input
sys2 = rss(3,2,3);
sys2.InputName = ["in2a","in2b","in2c"];
sys2.OutputName = ["out2a","out2b"];

다이어그램에 표시된 상호 연결을 보면 sys1out1aout1c가 각각 in2bin2c에 연결되어 있습니다. 연결 신호의 이름이 일치하도록 신호 이름을 변경합니다.

sys1.OutputName = ["ua","out1b","ub","out1d"];
sys2.InputName = ["in2a","ua","ub"];

name 플래그와 함께 series를 호출하여 연결을 형성합니다.

sys = series(sys1,sys2,"name");

sys의 차원, 입력, 출력을 검토하여 모든 연결이 다이어그램의 연결과 일치하는지 확인합니다.

size(sys)
State-space model with 2 outputs, 2 inputs, and 7 states.
sys.InputName
ans = 2×1 cell
    {'in1a'}
    {'in1b'}

sys.OutputName
ans = 2×1 cell
    {'out2a'}
    {'out2b'}

예상대로 결과 sys는 두 개의 출력과 두 개의 입력을 가지며, 각각 sys2의 출력과 sys1의 입력과 대응합니다.

syssys2의 연결되지 않은 입력과 sys1의 연결되지 않은 출력을 삭제합니다. 모든 입력과 출력을 보존하면서 이러한 상호 연결을 형성하려면 대신 connect를 사용하여 결과 시스템에서 보존하려는 모든 입력과 출력을 지정하십시오.

sysc = connect(sys1,sys2,["in1a","in1b","in2a"],["out2a","out2b","out1b","out1d"]);
size(sysc)
State-space model with 4 outputs, 3 inputs, and 7 states.
sysc.InputName
ans = 3×1 cell
    {'in1a'}
    {'in1b'}
    {'in2a'}

sysc.OutputName
ans = 4×1 cell
    {'out2a'}
    {'out2b'}
    {'out1b'}
    {'out1d'}

연결하려는 신호의 인덱스를 지정하면 모델 입력 및 출력의 서브셋을 사용하여 직렬 상호 연결을 형성할 수 있습니다. 4개 출력과 2개 입력을 갖는 시스템 sys1 및 2개 출력과 3개 입력을 갖는 시스템 sys2를 만들고 다이어그램에 보이는 것처럼 직렬 연결을 형성합니다.

두 시스템의 상태공간 모델을 만듭니다.

% sys1: 4-output, 2-input
sys1 = rss(4,4,2);
% sys2: 2-output, 3-input
sys2 = rss(3,2,3);

직렬 연결을 형성하기 위해, sys1의 출력을 지정하는 벡터, 그리고 연결하려는 sys2의 대응 입력을 지정하는 벡터를 만듭니다. 다이어그램에서 sys1의 첫 번째와 세 번째 출력이 각각 sys2의 두 번째와 세 번째 입력에 연결되어 있습니다. 따라서 인덱스를 다음과 같이 지정합니다.

out1 = [1 3]; % out1a and out1c
in2 = [2 3];  % in2b and in2c

연결을 형성하고 출력 크기를 조사합니다.

sys = series(sys1,sys2,out1,in2);
size(sys)
State-space model with 2 outputs, 2 inputs, and 7 states.

예상대로 결과 sys는 두 개의 출력과 두 개의 입력을 가지며, 각각 sys2의 출력과 sys1의 입력과 대응합니다. syssys2의 연결되지 않은 입력과 sys1의 연결되지 않은 출력을 삭제합니다. 모든 입력과 출력을 보존하면서 이러한 상호 연결을 형성하려면 connect를 사용하십시오.

입력 인수

모두 축소

연결할 시스템으로, SISO 또는 MIMO 동적 시스템 모델, 제어 설계 블록 또는 동적 시스템 모델로 구성된 배열로 지정됩니다. 연결할 수 있는 모델과 블록은 다음과 같습니다.

  • 수치적 LTI 모델 객체(예: tf, zpk, ss, frd, pid 모델 객체).

  • 일반화된 LTI 모델 또는 불확실 LTI 모델(예: genss, genfrd, uss (Robust Control Toolbox), ufrd (Robust Control Toolbox) 모델).

  • 조정 가능한 또는 불확실한 블록 다이어그램 요소를 나타내는 제어 설계 블록(예: tunablePID, tunableSS, tunableGain, tunableTF, tunableSurface, ultidyn (Robust Control Toolbox), umargin (Robust Control Toolbox) 블록).

  • 블록 다이어그램에서 시스템 응답을 추출하고 싶은 위치를 나타내는 AnalysisPoint 블록.

  • sumblk를 사용하여 만드는 합산점.

  • 식별된 LTI 모델(예: idtf (System Identification Toolbox), idss (System Identification Toolbox), idproc (System Identification Toolbox) 모델).

  • 희소 모델(sparss 또는 mechss 모델 객체로 표현됨).

  • 시변 모델 또는 파라미터 가변 모델(ltvss 또는 lpvss 모델 객체로 표현됨).

sys1sys2는 둘 다 연속적이거나, 둘 다 이산적이면서 동일한 샘플 시간을 가져야 합니다.

연결할 sys1의 출력으로, 인덱스 벡터로 지정됩니다. 예를 들어, sys1의 두 번째, 네번째, 다섯 번째 출력을 sys2의 3개 입력에 연결하려면 out1 = [2,4,5]로 설정합니다.

연결할 sys2의 입력으로, 인덱스 벡터로 지정됩니다. 예를 들어, sys1의 3개 출력을 sys2의 첫 번째, 세 번째, 네 번째 입력에 연결하려면 in2 = [1,3,4]로 설정합니다.

출력 인수

모두 축소

상호 연결된 시스템으로, sys1의 입력을 입력으로 가지고 sys2의 출력을 출력으로 가지는 동적 시스템 모델로 반환됩니다. 동적 시스템 모델의 유형은 연결된 시스템 sys1sys2의 유형에 따라 달라집니다. 예를 들어, 다음과 같습니다.

  • 연결된 시스템 중 하나가 ss 모델이고 다른 하나가 frd 모델이 아닌 수치적 LTI 모델인 경우, sysss 모델입니다.

  • 연결된 시스템 중 하나가 frd 모델이고 다른 하나가 수치적 LTI 모델인 경우, sysfrd 모델입니다. 두 시스템이 모두 frd 모델인 경우, 주파수 벡터가 일치해야 합니다.

  • 연결된 시스템 중 하나가 식별된 LTI 모델인 경우, sys도 식별된 모델입니다.

  • 연결된 시스템 중 하나가 genss 또는 uss 모델과 같은 일반화된 LTI 모델인 경우, sys도 일반화된 LTI 모델입니다.

  • 연결된 시스템 중 하나가 희소 모델인 경우, sys도 희소 모델입니다.

sys1sys2가 모델 배열이면 sys는 같은 크기의 모델 배열입니다. sys의 각 요소는 입력 배열의 대응 요소를 연결하여 형성된 모델입니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |