주요 콘텐츠

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

sigma

동적 시스템의 주파수 응답의 특이값

    설명

    [sv,wout] = sigma(sys)는 벡터 wout의 각 주파수에서 동적 시스템 모델 sys의 주파수 응답의 특이값 sv를 반환합니다. 함수는 시스템 동특성을 기준으로 플로팅할 주파수를 자동으로 파악합니다.

    예제

    [sv,wout] = sigma(sys,w)w로 지정된 주파수에서의 특이값을 반환합니다. 주파수 범위 또는 주파수로 구성된 벡터를 지정할 수 있습니다.

    예제

    sv = sigma(sys,w,type)은 지정된 유형의 수정된 특이값을 반환합니다. 이 구문은 동일한 개수의 입력과 출력을 가지는 시스템에만 사용할 수 있습니다.

    sigma(___)는 위에 열거된 모든 입력 인수의 조합에 디폴트 플로팅 옵션을 사용하여 sys의 주파수 응답의 특이값을 플로팅합니다. sys가 SISO(단일 입력 단일 출력) 모델인 경우 특이값 플롯은 보드 크기 응답과 유사합니다. 추가 플롯 사용자 지정 옵션이 필요하면 sigmaplot을 사용하십시오.

    • 여러 동적 시스템의 특이값을 동일한 플롯에 플로팅하기 위해 sys를 쉼표로 구분된 모델 목록으로 지정할 수 있습니다. 예를 들어, sigma(sys1,sys2,sys3)은 세 모델의 특이값을 동일한 플롯에 플로팅합니다.

    • 플롯에 있는 각 시스템의 색, 선 스타일 및 마커를 지정하려면 각 시스템의 LineSpec 값을 지정합니다. 예를 들어, sigma(sys1,LineSpec1,sys2,LineSpec2)는 두 모델을 플로팅하고 각각의 플롯 스타일을 지정합니다. LineSpec 값 지정에 대한 자세한 내용은 sigmaplot 항목을 참조하십시오.

    예제

    모두 축소

    다음 연속시간 SISO 동적 시스템의 특이값 플롯을 만듭니다.

    H(s)=s2+0.1s+7.5s4+0.12s3+9s2

    H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
    sigma(H)

    MATLAB figure

    sigma는 시스템 동특성을 기반으로 플롯 범위를 자동으로 선택합니다.

    특정 주파수 범위에 대해 특이값 플롯을 만듭니다. 특정 주파수 범위의 동특성에 집중하려면 이 접근 방식을 사용하십시오.

    H = tf([-0.1,-2.4,-181,-1950],[1,3.3,990,2600]);
    sigma(H,{1,100})
    grid on

    MATLAB figure

    셀형 배열 {1,100}은 플롯의 최소 주파수 값과 최대 주파수 값을 지정합니다. 이런 방식으로 주파수 범위를 제공하면 함수가 주파수 응답 데이터를 위한 중간 점을 선택합니다.

    또는 주파수 응답을 계산하고 플로팅하기 위해 사용할, 주파수 점으로 구성된 벡터를 지정하는 방법도 있습니다.

    w = [1 5 10 15 20 23 31 40 44 50 85 100];
    sigma(H,w,'.-')
    grid on

    MATLAB figure

    sigma는 지정된 주파수에서만 주파수 응답을 플로팅합니다.

    연속시간 시스템의 주파수 응답을 같은 특이값 플롯에 있는 동급의 이산화된 시스템과 비교합니다.

    연속시간 동적 시스템과 이산시간 동적 시스템을 만듭니다.

    H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
    Hd = c2d(H,0.5,'zoh');

    두 시스템을 모두 표시하는 플롯을 만듭니다.

    sigma(H,Hd)
    legend("Continuous","Discrete")

    MATLAB figure

    이산시간 시스템의 sigma 플롯에는 시스템의 나이퀴스트 주파수를 표시하는 세로선이 있습니다.

    LineSpec 입력 인수를 사용하여 sigma 플롯에 있는 각 시스템에 대해 선 스타일, 색 또는 마커를 지정합니다.

    H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
    Hd = c2d(H,0.5,'zoh');
    sigma(H,'r',Hd,'b--')

    MATLAB figure

    첫 번째 LineSpec 'r'H의 응답에 대해 빨간색 실선을 지정합니다. 두 번째 LineSpec 'b--'Hd의 응답에 대해 파란색 파선을 지정합니다.

    SISO 시스템의 주파수 응답의 특이값을 계산합니다.

    주파수를 지정하지 않으면 sigma는 시스템 동특성을 기반으로 주파수를 선택하고 이를 두 번째 출력 인수에 반환합니다.

    H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
    [sv,wout] = sigma(H);

    H는 SISO 모델이므로 sv의 첫 번째 차원은 1입니다. 두 번째 차원은 wout에 있는 주파수의 개수입니다.

    size(sv)
    ans = 1×2
    
         1    40
    
    
    length(wout)
    ans = 
    40
    

    따라서 sv의 두 번째 차원의 각 요소는 대응하는 주파수에서의 응답의 특이값을 wout에 제공합니다.

    이 예제에서는 2-출력 3-입력 시스템을 만듭니다.

    rng(0,'twister'); % For reproducibility
    H = rss(4,2,3);

    이 시스템의 경우 sigma는 동일한 플롯에 주파수 응답 행렬의 특이값을 플로팅합니다.

    sigma(H)

    MATLAB figure

    1라디안과 10라디안 사이의 20개 주파수에서 특이값을 계산합니다.

    w = logspace(0,1,20);
    sv = sigma(H,w);

    sv는 행렬로, 행은 주파수 응답 행렬의 특이값에 해당하고, 열은 주파수 값입니다. 차원을 검토합니다.

    size(sv)
    ans = 1×2
    
         2    20
    
    

    예를 들어 sv(:,10)w의 10번째 주파수에서 계산된 응답의 특이값입니다.

    다음과 같은 2-입력 2-출력 동적 시스템이 있다고 가정하겠습니다.

    H(s)=[03ss2+s+10s+1s+52s+6].

    H(s) 및 I + H(s)의 특이값 응답을 계산합니다.

    H = [0, tf([3 0],[1 1 10]) ; tf([1 1],[1 5]), tf(2,[1 6])];
    [svH,wH] = sigma(H);
    [svIH,wIH] = sigma(H,[],2);

    마지막 명령에서 입력 2는 두 번째 응답 유형인 I + H(s)를 선택합니다. 벡터 svHsvIH에는 wHwIH의 주파수에서의 특이값 응답 데이터가 포함됩니다.

    두 시스템의 특이값 응답을 플로팅합니다.

    subplot(211)
    sigma(H)
    subplot(212)
    sigma(H,[],2)

    MATLAB figure

    동일한 플롯에 복소 계수를 갖는 모델과 실수 계수를 갖는 모델의 특이값 플롯을 만듭니다.

    rng(0)
    A = [-3.50,-1.25-0.25i;2,0];
    B = [1;0];
    C = [-0.75-0.5i,0.625-0.125i];
    D = 0.5;
    Gc = ss(A,B,C,D);
    Gr = rss(4);
    sigma(Gc,Gr)
    legend('Complex-coefficient model','Real-coefficient model');

    MATLAB figure

    로그 주파수 스케일에서 플롯에는 복소 계수를 갖는 모델에 대해 두 개의 분기가 표시되는데, 하나는 오른쪽을 가리키는 화살표가 있는 양수 주파수에 대한 것이고 다른 하나는 왼쪽을 가리키는 화살표가 있는 음수 주파수에 대한 것입니다. 두 분기에서 화살표는 주파수가 증가하는 방향을 나타냅니다. 실수 계수가 있는 모델의 플롯에는 항상 화살표가 없는 단일 분기가 포함됩니다.

    플롯을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하여 플롯의 주파수 스케일을 변경할 수 있습니다. 속성 편집기 대화 상자의 단위 탭에서 주파수 스케일을 linear scale로 설정합니다. 또는 sigmaplot 함수를 사용하고 차트 객체 속성을 수정할 수 있습니다.

    사용자 지정된 옵션을 사용하여 플롯을 만듭니다.

    sp = sigmaplot(Gc,Gr);
    sp.FrequencyScale = 'linear'
    sp = 
      SigmaPlot (Singular Values) with properties:
    
              Responses: [2×1 controllib.chart.response.SigmaResponse]
        Characteristics: [1×1 controllib.chart.options.CharacteristicsManager]
    
          FrequencyUnit: "rad/s"
         FrequencyScale: "linear"
          MagnitudeUnit: "dB"
         MagnitudeScale: "linear"
    
                Visible: on
    
      Show all properties
    
    
    legend('Complex-coefficient model','Real-coefficient model');

    MATLAB figure

    선형 주파수 스케일에서, 플롯에는 주파수 값 0을 중심으로 하는 대칭 주파수 범위를 갖는 단일 분기가 표시됩니다. 또한 복소 계수가 있는 모델과 함께 응답을 플로팅할 때 플롯에는 실수 계수가 있는 모델의 음수 주파수 응답도 표시됩니다.

    입력 인수

    모두 축소

    동적 시스템으로, SISO 또는 MIMO 동적 시스템 모델로 지정되거나 동적 시스템 모델로 구성된 배열로 지정됩니다. 다음과 같은 유형의 동적 시스템을 사용할 수 있습니다.

    • 연속시간 또는 이산시간 수치적 LTI 모델(예: tf, zpk, ss 모델).

    • 희소 상태공간 모델(예: sparss 또는 mechss 모델). 희소 모델의 경우 주파수 그리드 w를 지정해야 합니다.

    • 일반화된 LTI 모델 또는 불확실 LTI 모델(예: genss 또는 uss (Robust Control Toolbox) 모델). 불확실 모델을 사용하려면 Robust Control Toolbox™가 필요합니다.

      • 조정 가능한 제어 설계 블록의 경우, 이 함수는 현재 값에서 모델을 계산하여 응답을 플로팅합니다.

      • 불확실한 제어 설계 블록의 경우, 이 함수는 모델의 공칭 값과 임의 샘플을 플로팅합니다.

    • 주파수 응답 데이터 모델(예: frd 모델). 이러한 모델의 경우, 이 함수는 모델에서 정의된 주파수에서 응답을 플로팅합니다.

    • 식별된 LTI 모델(예: idtf (System Identification Toolbox), idss (System Identification Toolbox), idproc (System Identification Toolbox) 모델). 식별된 모델을 사용하려면 System Identification Toolbox™가 필요합니다.

    sys가 모델로 구성된 배열인 경우, 플롯은 배열에 있는 모든 모델의 응답을 동일한 좌표축에 표시합니다.

    응답을 계산할 주파수로, 다음 값 중 하나로 지정됩니다.

    • {wmin,wmax} 형식의 셀형 배열 — wmin에서 wmax 사이의 범위 내 주파수에서 응답을 계산합니다. wmaxsys의 나이퀴스트 주파수보다 큰 경우 응답은 나이퀴스트 주파수까지만 계산됩니다.

    • 주파수로 구성된 벡터 — 지정된 각 주파수에서 응답을 계산합니다. 예를 들어, logspace를 사용하여 로그 간격의 주파수 값을 갖는 행 벡터를 생성할 수 있습니다. 벡터 w에는 양수 주파수와 음수 주파수가 모두 포함될 수 있습니다.

    • [] — 시스템 동특성을 기준으로 주파수를 자동으로 선택합니다.

    복소 계수를 갖는 모델인 경우, 플롯에 대해 주파수 범위 [wmin,wmax]를 지정하면

    • 로그 주파수 스케일에서, 플롯 주파수 제한이 [wmin,wmax]로 설정되며 플롯에는 양수 주파수 [wmin,wmax]에 대해 하나, 음수 주파수 [–wmax,–wmin]에 대해 하나, 이렇게 두 개의 분기가 표시됩니다.

    • 선형 주파수 스케일에서, 플롯 주파수 제한이 [–wmax,wmax]로 설정되며 플롯에는 주파수 값 0을 중심으로 하는 대칭 주파수 범위를 갖는 단일 분기가 표시됩니다.

    주파수는 rad/TimeUnit 단위로 지정합니다. 여기서 TimeUnit은 모델의 TimeUnit 속성입니다.

    플로팅할 수정된 특이값의 유형으로, 다음 값 중 하나로 지정됩니다.

    • 1 — 주파수 응답 H-1의 특이값을 플로팅합니다. 여기서 Hsys의 주파수 응답입니다.

    • 2 — 주파수 응답 I+H의 특이값을 플로팅합니다.

    • 3 — 주파수 응답 I+H-1의 특이값을 플로팅합니다.

    종속 관계

    sys가 동일한 개수의 입력과 출력을 가지는 경우에만 type을 지정할 수 있습니다.

    출력 인수

    모두 축소

    절대 단위로 표현한 주파수 응답의 특이값으로, 행렬로 반환됩니다. sv는 제공된 경우 주파수 w 또는 제공되지 않은 경우 주파수 wout에서 계산된 특이값을 포함합니다. Nu개 입력과 Ny개 출력이 있는 시스템 sys의 경우 sv에는 min(Nu,Ny)개 행과 w 또는 wout에 있는 값만큼의 열이 있습니다. 값 sv(:,k)는 주파수 wout(k)에서의 특이값을 내림차순으로 제공합니다.

    함수가 시스템 응답을 반환하는 주파수로, 열 벡터로 반환됩니다. 함수는 사용자가 입력 인수 w를 사용하여 주파수를 지정하지 않은 이상 모델 동특성을 기준으로 주파수 값을 선택합니다.

    또한 wout에는 복소 계수를 갖는 모델에 대한 음수 주파수 값도 포함되어 있습니다.

    주파수 값의 단위는 TimeUnit당 라디안입니다. 여기서 TimeUnitsysTimeUnit 속성의 값입니다.

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

    • sigma를 사용하여 생성된 플롯은 string형 배열이나 문자형 벡터로 구성된 셀형 배열을 사용해서 여러 줄로 된 제목이나 레이블을 지정하는 것을 지원하지 않습니다. 여러 줄로 된 제목과 레이블을 지정하려면 newline 문자가 포함된 단일 문자열을 사용하십시오.

      sigma(sys)
      title("first line" + newline + "second line");

    알고리즘

    sigma는 MATLAB® 함수 svd를 사용하여 복소 주파수 응답의 특이값을 계산합니다.

    • frd 모델의 경우 sigma는 주파수 sys.Frequency에서 sys.ResponseData의 특이값을 계산합니다.

    • 전달 함수 H(s)를 갖는 연속시간 tf 모델, ss 모델 또는 zpk 모델의 경우 sigmaH(jω)의 특이값을 주파수 ω의 함수로 계산합니다.

    • 전달 함수 H(z) 및 샘플 시간 Ts를 갖는 이산시간 tf 모델, ss 모델 또는 zpk 모델의 경우 sigma는 다음의 특이값을 계산합니다.

      H(ejωTs)

      이때 주파수 ω는 0과 나이퀴스트 주파수 ωN = π/Ts 사이에 있습니다.

    버전 내역

    R2006a 이전에 개발됨

    모두 확장