Main Content

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

sumblk

이름 기반 상호 연결을 위한 합산점

구문

S = sumblk(formula)
S = sumblk(formula,signalsize)
S = sumblk(formula,signames1,signames2,...)

설명

S = sumblk(formula)formula로 기술된 합산점의 전달 함수 S를 만듭니다. 문자형 벡터 formulaS의 스칼라 입력 신호와 스칼라 출력 신호를 연결하는 방정식을 지정합니다.

S = sumblk(formula,signalsize)는 벡터 값 합산점을 반환합니다. 입력 신호와 출력 신호는 signalsize 요소로 구성된 벡터입니다.

S = sumblk(formula,signames1,signames2,...)formula에 있는 별칭(%로 시작하는 신호 이름)을 신호 이름 signames로 바꿉니다. signames 인수 개수는 formula에 있는 별칭 개수와 일치해야 합니다. formula에 있는 첫 번째 별칭은 signames1로, 두 번째 별칭은 signames2로 바뀌는 식입니다.

입력 인수

formula

합산점 전달 함수 S의 입력 신호와 출력 신호를 연결하는 방정식으로, 문자형 벡터로 지정됩니다. 예를 들어 다음 명령은

S = sumblk('e = r - y + d')

입력 이름 'r', 'y', 'd'와 출력 이름 'e', 방정식 e = r-y+d를 사용하여 합산점을 만듭니다.

signalsize를 1보다 큰 값으로 지정하면, S의 입력과 출력은 벡터 값 신호가 됩니다. sumblkS의 신호 이름에 대해 자동으로 벡터 확장을 수행합니다. 예를 들어 다음 명령은

S = sumblk('v = u + d',2)

입력 이름 {'u(1)';'u(2)';'d(1)';'d(2)'}와 출력 이름 {'v(1)';'v(2)'}를 사용하여 합산점을 지정합니다. 이 합산점의 식은 v(1) = u(1) + d(1), v(2) = u(2) + d(2)입니다.

formula에 별칭을 하나 이상 사용하여, 변수에 정의된 신호 이름을 참조할 수 있습니다. 별칭은 %로 시작하는 신호 이름입니다. formula에 별칭이 포함되어 있으면 sumblk는 각 별칭을 그에 대응하는 signames 인수로 바꿉니다.

별칭은 벡터 값 신호의 개별 요소에 이름을 지정하고자 할 때 유용합니다. 별칭을 통해 기존 모델의 입력 이름이나 출력 이름을 사용할 수도 있습니다. 예를 들어 CG가 각각 비어 있지 않은 InputName 속성과 OutputName 속성을 가진 동적 시스템 모델인 경우 다음 표현식을 사용해 합산점을 만들 수 있습니다.

S = sumblk('%e = r - %y',C.InputName,G.OutputName)

sumblk%e%y 대신 C.InputName의 값과 G.OutputName의 값을 각각 사용합니다. C.InputNameG.OutputName의 벡터 차원은 일치해야 합니다. sumblk는 신호 r에 동일한 차원을 할당합니다.

signalsize

S의 각 입력 신호와 출력 신호에 있는 요소 개수. signalsize를 1보다 큰 값으로 설정하면 벡터 값 신호에 대해 연산을 수행하는 합산점을 지정할 수 있습니다.

디폴트 값: 1

signames

인수 formula에서 특정 별칭(%로 시작하는 신호 이름)을 대체할 신호 이름. formula에 있는 별칭마다 하나씩 signames 인수를 지정해야 합니다.

signames를 다음과 같이 지정하십시오.

  • 신호 이름으로 구성된 셀형 배열.

  • MATLAB® 작업 공간에 있는 모델의 InputName 또는 OutputName 속성. 예를 들면 다음과 같습니다.

    S = sumblk('%e = r - y',C.InputName)

    이 명령은 출력 이름이 MATLAB 작업 공간에 있는 모델 C의 입력 이름과 동일한 합산점을 만듭니다.

출력 인수

S

합산점의 전달 함수로, MIMO tf 모델 객체로 표현됩니다.

예제

스칼라 값 신호를 갖는 합산점

다음 그림과 같은 합산점을 만듭니다. 모든 신호는 스칼라 값입니다.

이 합산점의 식은 u = u1 + u2 + u3입니다.

S = sumblk('u = u1+u2+u3');

S는 합 u = u1 + u2 + u3을 전달 함수(tf)로 표현한 것입니다. 전달 함수 S는 식에서 입력 이름과 출력 이름을 얻습니다.

S.OutputName,S.Inputname
ans = 

    'u'


ans = 

    'u1'
    'u2'
    'u3'

벡터 값 신호를 갖는 합산점

합산점 v = u - d를 만듭니다. 여기서 u,d,v는 길이가 2인 벡터 값 신호입니다.

S = sumblk('v = u-d',2);

sumblkS의 신호 이름에 대해 자동으로 벡터 확장을 수행합니다.

S.OutputName,S.Inputname
ans = 

    'v(1)'
    'v(2)'


ans = 

    'u(1)'
    'u(2)'
    'd(1)'
    'd(2)'

지정된 신호 이름이 있는 벡터 값 신호를 갖는 합산점

다음과 같은 합산점을 만듭니다.

e(1)=setpoint(1)alpha+d(1)e(2)=setpoint(2)q+d(2)

신호 alphaq의 이름은 사용자 지정된 것으로, 단순히 단일 신호 이름을 벡터 확장한 것이 아닙니다. 따라서 합산점을 지정하는 식에 별칭을 사용합니다.

S = sumblk('e = setpoint - %y + d', {'alpha';'q'});

sumblk는 별칭 %y를 셀형 배열 {'alpha';'q'}로 바꿉니다.

S.OutputName,S.Inputname
ans = 

    'e(1)'
    'e(2)'


ans = 

    'setpoint(1)'
    'setpoint(2)'
    'alpha'
    'q'
    'd(1)'
    'd(2)'

  • 동적 시스템 모델을 상호 연결하고 블록 다이어그램에 대한 합산 모델을 도출하려면 sumblkconnect와 함께 사용하십시오.

R2008a에 개발됨