ode15i
완전한 음함수 미분방정식 풀기 — 가변 차수법
구문
설명
[
는 이벤트 함수라고 하는 t
,y
,te
,ye
,ie
] = ode15i(odefun
,tspan
,y0
,yp0
,options
)(t,y,y')
의 함수가 0인 위치를 추가로 찾습니다. 출력값에서 te
는 이벤트 발생 시간이고, ye
는 이벤트 발생 시 계산된 해이며, ie
는 트리거된 이벤트의 인덱스입니다.
각 이벤트 함수에 대해, 0에서 적분을 종료할지 여부와 영점교차의 방향을 고려할지 여부를 지정합니다. 이를 수행하려면 'Events'
속성을 함수(예: myEventFcn
또는 @myEventFcn
)로 설정하고 이에 대응하는 함수 [value
,isterminal
,direction
] = myEventFcn
(t
,y
,yp
)를 생성합니다. 자세한 내용은 ODE 이벤트 위치 항목을 참조하십시오.
는 sol
= ode15i(___)deval
과 함께 사용하여 구간 [t0 tf]
내의 임의의 점에서 해를 계산할 수 있는 구조체를 반환합니다. 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 사용할 수 있습니다.
예제
입력 인수
출력 인수
팁
ode15i
에 야코비 행렬을 제공하는 것이 안정성과 효율성적인 측면에서 매우 중요합니다. 또는 시스템이 크기가 큰 희소 행렬인 경우 야코비 행렬의 희소성 패턴을 제공하는 것도 솔버에 도움이 됩니다. 양쪽 어느 경우든Jacobian
옵션이나JPattern
옵션을 사용하여 행렬을 전달하려면odeset
을 사용하십시오.
알고리즘
ode15i
는 차수가 1~5인 후진 미분 공식(BDF)을 기반으로 하는 가변 스텝, 가변 차수(VSVO) 솔버입니다. ode15i
는 완전한 음함수 미분방정식과 지수-1 미분대수 방정식(DAE)에 사용되도록 설계되었습니다. 헬퍼 함수 decic
는 ode15i
에 사용하기에 적합한 모순 없는 초기 조건을 계산합니다[1].
참고 문헌
[1] Lawrence F. Shampine, “Solving 0 = F(t, y(t), y′(t)) in MATLAB,” Journal of Numerical Mathematics, Vol.10, No.4, 2002, pp. 291-310.
버전 내역
R2006a 이전에 개발됨