Main Content

지연 미분 방정식 풀기

지연 미분 방정식(DDE)은 현재 시점에서의 해를 과거 시점의 해와 연관시키는 상미분 방정식입니다. 이 지연은 상수이거나, 시간 종속적이거나, 상태 종속적이거나, 도함수 종속적일 수 있습니다. 적분을 시작하려면 일반적으로 초기 적분 지점 이전 시간의 해에 솔버가 액세스할 수 있도록 해 내역을 제공해야 합니다.

상수 지연(Constant Delay) DDE

상수 지연의 연립미분방정식은 다음 형식을 가집니다.

y(t)=f(t,y(t),y(tτ1),,y(tτk)).

여기서, t는 독립 변수이고, y는 독립 변수의 열 벡터이며, y ′는 t에 대한 y의 1계 도함수를 나타냅니다. 지연 τ1,…,τk는 양의 상수입니다.

dde23 함수는 t <t0인 경우 내역 y(t) = S(t)를 사용하여 상수 지연의 DDE를 풉니다.

DDE의 해는 일반적으로 연속이지만, 도함수에서는 불연속을 가집니다. dde23 함수는 저계 도함수(Low-order Derivative)에서 불연속 자취를 추적합니다. 이 함수는 동일한 명시적 룽게-쿠타(Explicit Runge-Kutta) (2,3) 쌍과 ode23에서 사용되는 보간법을 사용하여 미분 방정식을 적분합니다. 룽게-쿠타(Runge-Kutta) 공식은 지연보다 큰 스텝 크기에 대해 음함수입니다. y(t)가 이렇게 큰 스텝의 타당성을 입증할 수 있을 정도로 충분히 매끄러울 경우, 이 묵시적 식은 예측 변수-수정 변수 반복에 의해 계산됩니다.

시간 종속 DDE와 상태 종속 DDE

상수 시간 지연은 다음과 같이 보다 일반적인 DDE 형식의 특수한 경우입니다.

y(t)=f(t,y(t),y(dy1),...,y(dyp)).

시간 종속 DDE와 상태 종속 DDE는 시간 t와 상태 y에 모두 종속될 수 있는 지연 dy1,..., dyk를 포함합니다. 지연 dyj(t, y)는 t0 < tf인 구간 [t0, tf]에서 dyj(t, y) ≤ t를 충족해야 합니다.

ddesd 함수는 t < t0의 경우 내역 y(t) = S(t)를 사용하여 시간 종속 DDE 및 상태 종속 DDE에 대한 해 y(t)를 구합니다. ddesd 함수는 기본 4단계, 4차 명시적 룽게-쿠타(Explicit Runge-Kutta) 방법을 사용하여 적분하며, 자연 보간(Natural Interpolant)의 잔차 크기를 제어합니다. 이 함수는 반복을 통해 지연보다 긴 스텝을 취합니다.

중립(Neutral) 유형의 DDE

중립 유형의 지연 미분 방정식은 y′와 y에 지연을 포함합니다.

y(t)=f(t,y(t),y(dy1),...,y(dyp),y(dyp1),...,y(dypq)).

해에 포함되는 지연은 dyi(t,y) ≤ t를 충족해야 합니다. 1계 도함수에 포함되는 지연은 y′가 방정식의 양변에 나타나지 않도록 dypj(t,y) < t를 충족해야 합니다.

ddensd 함수는 시간 종속 지연과 상태 종속 지연에 지정된 형식의 DDE를 사용하여 중립 유형의 DDE의 근삿값을 구하는 방식으로 해를 구합니다.

y(t)=f(t,y(t),y(dy1),...,y(dyp)).

자세한 내용은 Shampine [1] 항목을 참조하십시오.

특정 지점에서 해 구하기

deval 함수와 DDE 솔버에서 반환한 출력값을 사용하여 적분 구간의 특정 지점에서 해를 구합니다. 예를 들어, y = deval(sol, 0.5*(sol.x(1) + sol.x(end)))는 적분 구간의 중간점에서 해를 구합니다.

내역(History)과 초기값

DDE를 풀 때는 t0 < tf인 구간 [t0,tf]에서 해의 근삿값을 구합니다. DDE는 y′(t)가 t 이전의 시간에서 해의 값(및 가능한 해당 도함수)에 어떻게 종속되는지를 보여줍니다. 예를 들어, 상수 지연에서는 y′(t0)이 양의 상수 τj에 대해 y(t0 – τ1),…,y(t0 – τk)에 종속됩니다. 이러한 이유로, [t0, tk]에 대한 해는 t ≤ t0에서 해가 갖는 값에 따라 달라집니다. t <t0에 대해 내역 함수 y(t) = S(t)를 사용하여 이들 값을 정의해야 합니다.

DDE에서의 불연속

문제에 불연속이 있는 경우 options 구조체를 사용하여 이를 솔버에 알리는 것이 가장 좋습니다. 그렇게 하려면 ddeset 함수를 사용하여 문제의 불연속을 포함하는 options 구조체를 만들어야 합니다.

options 구조체에는 불연속을 지정하는 데 사용할 수 있는 세 가지 속성 InitialY, Jumps, Events가 있습니다. 선택하는 속성은 불연속의 위치와 특성에 따라 결정됩니다.

불연속의 특성

속성

설명

t = t0인 초기값에서

InitialY

일반적으로, 초기값 y(t0)은 내역 함수로 반환되는 값 S(t0)입니다. 즉, 해가 초기 지점에서 연속입니다. 그렇지 않을 경우 InitialY 속성을 사용하여 다른 초기값을 제공해야 합니다.

내역, 즉 t <t0에서의 해에서, 또는 t >t0에 대해 방정식의 계수에서

Jumps

알려진 불연속이 있는 위치 t를 Jumps 속성의 값으로 벡터에 넣으십시오. dde23에만 적용됩니다.

상태 종속

Events

dde23, ddesdddensd는 사용자가 제공하는 이벤트 함수를 사용하여 이러한 불연속을 찾습니다. 솔버가 이러한 불연속을 찾는 경우 적분을 다시 시작하여 계속하십시오. 현재 적분에 대한 해 구조체를 새 적분의 내역으로 지정하십시오. 그러면 솔버는 다시 시작할 때마다 해 구조체의 각 요소를 확장하여, 최종 구조체가 전체 적분 구간에 대해 해를 제공할 수 있도록 합니다. 새 문제에서 해가 변하는 경우 InitialY 속성을 사용하여 새 적분에 대한 초기값을 지정하십시오.

불연속의 전파

일반적으로, 해의 1계 도함수는 초기 지점에서 비약(Jump)을 갖습니다. 이는 내역 함수 S(t)의 1계 도함수가 일반적으로 이 지점에서 DDE를 충족하지 않기 때문입니다. y(t)의 임의의 도함수에 포함된 불연속은 지연이 상수인 경우 τ1,…, τk의 간격으로 이후로 전파됩니다. 지연이 상수가 아닐 경우 불연속의 전파는 더 복잡합니다. 상수 지연(Constant Delay) DDE시간 종속 DDE와 상태 종속 DDE 형식의 중립 DDE의 경우, 불연속은 전파될 때마다 다음으로 높은 계수의 도함수에 나타납니다. 이런 의미에서, 적분이 진행될수록 해가 더 매끄러워집니다. 중립(Neutral) 유형의 DDE에 지정된 형식의 중립 DDE가 갖는 해는 이와 질적으로 다릅니다. 이 해에 포함된 불연속은 더 높은 계수의 도함수로 전파되지 않습니다. 특히, t0에서 y ′(t)의 일반적인 비약은 [t0, tf] 전체에서의 y ′(t)의 비약으로 전파됩니다.

DDE 예제와 파일

가장 일반적인 DDE 문제를 풀기 위한 탁월한 출발점이 될 수 있는 여러 예제 파일이 있습니다. 예제를 손쉽게 찾아 실행하려면 간단히 미분 방정식 예제 앱을 사용하십시오. 이 앱을 실행하려면 다음을 입력하십시오.

odeexamples
편집을 위해 개별 예제 파일을 열려면 다음을 입력하십시오.
edit exampleFileName.m
예제를 실행하려면 다음을 입력하십시오.
exampleFileName

다음 표에는 사용할 수 있는 DDE 예제 파일과 이러한 예제 파일에서 사용하는 솔버 및 옵션 목록이 나와 있습니다.

예제 파일

사용된 솔버지정된 옵션

설명

예제 링크

ddex1

dde23

상수 내역을 갖는 DDE

상수 지연을 갖는 DDE

ddex2

dde23

  • 'Jumps'

불연속을 갖는 DDE

불연속을 가지는 심혈관 모델 DDE

ddex3

ddesd

상태 종속 지연을 갖는 DDE

상태 종속 지연을 갖는 DDE

ddex4

ddensd

2개의 지연을 갖는 중립 DDE

중립(Neutral) 유형의 DDE

ddex5

ddensd

초기값을 갖는 중립 DDE

중립(Neutral) 유형의 초기값 DDE

참고 문헌

[1] Shampine, L.F. “Dissipative Approximations to Neutral DDEs.” Applied Mathematics & Computation, Vol. 203, 2008, pp. 641–648.

참고 항목

| | |

관련 항목