주요 콘텐츠

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

parallel

두 모델의 병렬 연결

    설명

    sys = parallel(sys1,sys2)는 다이어그램에 보이는 것처럼 동일한 입력 신호를 sys1sys2에 연결하고 출력을 합산하여 두 동적 시스템 모델의 병렬 상호 연결을 형성합니다.

    이 명령은 직접 곱셈 sys = sys1 + sys2와 동일합니다. MIMO 시스템의 경우 sys2sys2는 동일한 개수의 입력과 출력을 가져야 합니다.

    예제

    sys = parallel(sys1,sys2,in1,in2,out1,out2)는 다음 그림에 보이는 것처럼 보다 일반적인 병렬 상호 연결을 형성합니다.

    벡터 in11n2에는 sys1sys2의 입력에 대한 인덱스가 포함되어 있으며, 이 두 입력은 입력 u를 받습니다. 마찬가지로 out1out2sys1sys2의 출력을 지정하는 벡터이며, 이 벡터를 합산하면 출력 y가 생성됩니다. 결과로 얻은 sys는 입력 [v1,u,v2]를 가지며, 여기서 v1v2in11n2에 지정되지 않은 입력입니다. 마찬가지로 sys[z1,y,z2] 출력을 가지며, 여기서 z1z2out1out2에 지정되지 않은 출력입니다.

    예제

    sys = parallel(sys1,sys2,"name")은 모델의 OutputNameInputName 속성에 정의된 신호 이름을 매칭하여 sys1sys2를 연결합니다. 이름이 일치하는 입력은 연결되고, 이름이 일치하는 출력은 합산됩니다.

    예제

    예제

    모두 축소

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

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

    두 시스템을 병렬로 상호 연결하고 그 결과 모델을 검토합니다.

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

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

    병렬 상호 연결은 두 모델을 산술적으로 합산하는 것과 동일합니다. 주파수 응답을 조사하여 이 동등성을 확인합니다.

    sysa = sys1 + sys2;
    bodeplot(sys,'-',sysa,'--')

    MATLAB figure

    두 개의 MIMO 시스템을 병렬로 연결합니다. 두 시스템의 입력-출력 차원이 같으면 모든 입력과 출력을 연결할 수 있습니다. 예를 들어, 3개 출력과 2개 입력을 갖는 시스템을 두 개 만들고 상호 연결을 형성합니다.

    sys1 = rss(4,3,2);
    sys2 = rss(4,3,2);
    sys = parallel(sys1,sys2);

    그 결과 모델은 동일한 입력-출력 차원을 갖게 됩니다.

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

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

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

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

    다이어그램에 표시된 상호 연결을 보면 sys1의 입력 2와 입력 3은 각각 sys2의 입력 1과 입력 2에 연결되어 있습니다. 또한 이 다이어그램에서 sys1의 두 번째 출력이 sys2의 첫 번째 출력과 합산되는 것을 볼 수 있습니다. 연결 신호의 이름이 일치하도록 신호 이름을 변경합니다.

    sys1.InputName = ["in1a","u1","u2","in1d"];
    sys1.OutputName = ["out1a","y1","out1c"];
    sys2.InputName = ["u1","u2","in2c"];
    sys2.OutputName = ["y1","out2b"];

    name 플래그를 사용하여 연결을 형성합니다.

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

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

    size(sys)
    State-space model with 4 outputs, 5 inputs, and 7 states.
    
    sys.InputName
    ans = 5×1 cell
        {'in1a'}
        {'in1d'}
        {'u1'  }
        {'u2'  }
        {'in2c'}
    
    
    sys.OutputName
    ans = 4×1 cell
        {'out1a'}
        {'out1c'}
        {'y1'   }
        {'out2b'}
    
    

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

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

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

    상호 연결을 형성하기 위해, 연결할 각 모델의 입력과 출력을 지정하는 벡터를 만듭니다. 예를 들어, 다이어그램에 보이는 것처럼 sys1의 입력 2와 입력 3은 각각 sys2의 입력 1과 입력 2에 연결됩니다. 따라서 입력 인덱스를 다음과 같이 지정합니다.

    inp1 = [2 3];  % indices of in1b and in1c
    inp2 = [1 2];  % indices of in2a and in2b

    또한 이 다이어그램에서 sys1의 두 번째 출력이 sys2의 첫 번째 출력과 합산되는 것을 볼 수 있습니다.

    out1 = [2];  % index of out1b
    out2 = [1];  % index of out2a

    이들 값을 사용하여 병렬 상호 연결을 형성합니다.

    sys = parallel(sys1,sys2,inp1,inp2,out1,out2);

    예상대로 결과 모델은 출력이 4개, 입력이 5개입니다.

    size(sys)
    State-space model with 4 outputs, 5 inputs, and 7 states.
    

    입력 인수

    모두 축소

    연결할 시스템으로, 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는 둘 다 연속적이거나, 둘 다 이산적이면서 동일한 샘플 시간을 가져야 합니다.

    연결할 sys1sys2의 입력으로, 인덱스 벡터로 지정됩니다. 예를 들어, sys1의 첫 번째 입력과 sys2의 두 번째 입력, sys1의 두 번째 입력과 sys2의 세 번째 입력, sys1의 세 번째 입력과 sys2의 다섯 번째 입력에 동일한 입력을 보내고 싶다면 in2 = [1,2,3]in2 = [2,3,5]로 설정합니다.

    합산할 sys1sys2의 출력으로, 인덱스 벡터로 지정됩니다. 예를 들어, sys1의 첫 번째 출력을 sys2의 두 번째 출력과 합하고, sys1의 두 번째 출력을 sys2의 세 번째 출력과 합하고, sys1의 세 번째 출력을 sys2의 다섯 번째 출력과 합하고 싶다면 in2 = [1,2,3]in2 = [2,3,5]로 설정합니다.

    출력 인수

    모두 축소

    상호 연결된 시스템으로, 동적 시스템 모델로 반환됩니다. 동적 시스템 모델의 유형은 연결된 시스템 sys1sys2의 유형에 따라 달라집니다. 예를 들어, 다음과 같습니다.

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

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

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

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

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

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

    버전 내역

    R2006a 이전에 개발됨

    참고 항목

    | | |