Main Content

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

Derivative

시간에 대해 연속 입력 신호의 근사 연속 도함수를 계산합니다.

  • Derivative block

라이브러리:
Simulink / Continuous

설명

Derivative 블록은 시뮬레이션 시간 t에 대해 연속 입력 신호 u의 연속 도함수를 근사합니다. 연속 샘플 시간을 갖는 미분 가능 신호의 도함수를 계산해야 할 경우 Derivative 블록을 사용하십시오.

Derivative 블록을 부적절하게 사용하면 시뮬레이션 결과가 부정확해질 수 있습니다. 가능한 경우 Derivative 블록에 대해 다음 대안을 고려하십시오.

  • 도함수 대신 적분에 대한 해를 구하도록 시스템 방정식을 다시 배열합니다. 그런 다음, 미분하는 대신 Integrator 블록과 같은 블록을 사용하여 적분하도록 새 방정식을 기반으로 모델을 구조화합니다.

    예제는 Best-Form Mathematical Models 항목을 참조하십시오.

  • Transfer Fcn 블록이 Derivative 블록의 입력 신호 또는 출력 신호에도 작용하는 경우에는 대신에 전달 함수에 영점을 추가하여 신호에 대한 도함수를 구현하십시오.

  • 이산 시스템에서 이산 신호에 대한 유한 차분 또는 차분몫을 계산하려면 Discrete Derivative 블록을 사용하십시오.

Derivative 블록을 사용해야 하는 경우 연속 샘플 시간을 갖는 미분 가능 입력 신호만 이 블록에 사용하십시오.

  • 이 포트에 연결된 신호가 이산 샘플 시간을 갖거나 "보조 스텝에서 고정됨" 샘플 시간을 갖는 경우 경고가 발생합니다. (R2023b 이후)

  • 입력 신호가 상수 샘플 시간을 갖는 경우 경고가 발생하지는 않지만, 신호 값을 조정하면 입력 신호에 불연속성이 발생합니다. 이러한 불연속점을 포함해 미분하면 출력 신호에 스파이크가 발생합니다.

  • 이산 시스템에서 이산 신호에 대한 유한 차분 또는 차분몫을 계산하려면 Discrete Derivative 블록을 사용하십시오.

연속 미분 근사의 정확도 보장하기

적절한 컨텍스트에서 사용되더라도 Derivative 블록 출력 신호의 정확도는 스텝 크기에 따라 달라지며 시스템 나머지 부분의 동특성에 따라 달라질 수도 있습니다. Derivative 블록을 사용하는 경우 블록 출력 신호의 정확도가 요구 사항을 충족하도록 해야 합니다.

최대 스텝 크기 파라미터 값을 사용하여 가변 스텝 솔버가 정확도 요구 사항을 충족하기에 너무 큰 스텝을 선택하지 않도록 합니다. 적절한 최대 스텝 크기 값을 선택하기 위해 시뮬레이션을 여러 번 실행해야 할 수도 있습니다.

가변 스텝 시뮬레이션에서 솔버는 모델 전체에서 연속 상태 계산의 오차를 모니터링하여 각 주 시간 스텝의 크기를 결정합니다. 연속 상태에 대해 계산된 값의 오차가 지정된 허용오차 수준을 초과할 경우 솔버는 오차가 허용오차 범위 내에 속할 때까지 스텝 크기를 줄입니다.

Derivative 블록에는 연속 상태가 없으므로 솔버는 Derivative 블록 계산이 허용오차 요구 사항을 충족하도록 스텝 크기를 조정할 수 없습니다. 입력 신호 값이 빠르게 변할 때 솔버가 큰 시간 스텝을 취하면 블록이 예기치 않은 출력값을 생성할 수 있습니다.

포트

입력

모두 확장

입력 신호는 실수여야 하며 스칼라 또는 벡터 샘플 값을 가질 수 있습니다. Derivative 블록을 사용하여 연속 샘플 시간을 갖는 신호에 대해서만 연속 도함수를 근사합니다.

데이터형: double

출력

모두 확장

Derivative 블록은 시간에 대해 입력 신호의 연속 도함수를 근사하여 결과를 연속 신호로 제공합니다. 출력 신호의 차원 및 실수/복소수 여부는 입력 신호의 차원 및 실수/복소수 여부와 일치합니다. 즉, 실수여야 합니다.

데이터형: double

파라미터

모두 확장

블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용합니다. Simulink® 툴스트립의 시뮬레이션 탭에 있는 준비 갤러리에서 속성 인스펙터를 선택하십시오.

동적 방정식 y=u˙에 대한 상태공간 표현이 존재하지 않으므로 연속 도함수에 대해 엄밀하게 선형화하기 어렵습니다. 소프트웨어는 시스템에 극점을 추가하여 s/(cs+1). 형식의 전달 함수를 생성함으로써 Derivative 블록의 선형화를 근사합니다. 극점은 이 파라미터 값으로 결정되는 차단 주파수를 가진 저역통과 필터 역할도 하여 잡음의 영향을 줄입니다.

모범 사례로, 이 파라미터 값을 1fb로 지정합니다. 여기서 fb는 극점 추가로 인해 발생하는 저역통과 필터의 차단 주파수(초당 라디안)입니다. 시스템의 나이퀴스트 레이트 또는 주파수보다 크거나 같은 차단 주파수를 선택하십시오. 디폴트 파라미터 값 inf는 차단 주파수 0에 해당합니다.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: CoefficientInTFapproximation
값: inf (디폴트 값) | finite positive scalar number
데이터형: char | string

예: set_param("MyModel/Derivative","CoefficientInTFapproximation","0.001") configures the Derivative block named Derivative in the model MyModel to use the coefficient 0.001 in the transfer function used for approximate linearization of the block. This coefficient value results in a cutoff frequency of 1000 radians per second.

블록 특성

데이터형

double

직접 피드스루

다차원 신호

아니요

가변 크기 신호

아니요

영점교차 검출

아니요

알고리즘

Derivative 블록은 수치적 차분 Δu/Δt,를 계산하여 연속 도함수 dudt,를 근사합니다. 여기서 Δu는 입력 신호 값의 변화량이고 Δt는 솔버가 현재 시뮬레이션 시간에 도달하기 위해 택한 주 시간 스텝의 크기입니다. 연속 미분 근사의 정확도는 입력 신호의 변화율과 스텝 크기에 따라 달라집니다.

Derivative 블록의 초기 출력값은 항상 0입니다. 초기 출력값을 고려할 때, 이 방정식은 블록 입력 신호와 출력 신호 간의 정확한 관계를 나타냅니다.

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

  • t는 현재 시뮬레이션 시간입니다.

  • Tprevious는 시뮬레이션에서 마지막 주 시간 적중이 발생한 시간입니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장