ode89
구문
설명
[
입니다. 여기서 t
,y
] = ode89(odefun
,tspan
,y0
)tspan = [t0 tf]
는 t0
에서 tf
까지의 구간에서 초기 조건 y0
을 사용하여 연립미분방정식 를 적분합니다. 해 배열 y
의 각 행은 열 벡터 t
에 반환된 값에 대응합니다.
모든 MATLAB® ODE 솔버는 형식의 연립방정식이나 질량 행렬이 있는 문제 를 풀 수 있습니다. 솔버는 유사한 구문을 사용합니다. ode23s
솔버는 상수 질량 행렬을 갖는 경우에만 문제를 풀 수 있습니다. ode15s
와 ode23t
는 특이 질량 행렬을 포함하는 문제(즉, 미분대수 방정식(DAE))를 풀 수 있습니다. odeset
의 Mass
옵션을 사용하여 질량 행렬을 지정합니다.
[
는 이벤트 함수라고 하는 (t,y)의 함수가 0인 위치를 추가로 찾습니다. 출력값에서 t
,y
,te
,ye
,ie
] = ode89(odefun
,tspan
,y0
,options
)te
는 이벤트 발생 시간이고, ye
는 이벤트 발생 시 계산된 해이며, ie
는 트리거된 이벤트의 인덱스입니다.
각 이벤트 함수에 대해, 0에서 적분을 종료할지 여부와 영점교차의 방향을 고려할지 여부를 지정합니다. 이를 수행하려면 odeset
의 'Events'
옵션을 함수(예: myEventFcn
또는 @myEventFcn
)로 설정하고 대응 함수 [value
,isterminal
,direction
] = myEventFcn
(t
,y
)를 생성합니다. 자세한 내용은 ODE 이벤트 위치 항목을 참조하십시오.
는 sol
= ode89(___)deval
과 함께 사용하여 구간 [t0 tf]
내의 임의의 점에서 해를 계산할 수 있는 구조체를 반환합니다. 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 사용할 수 있습니다.
예제
입력 인수
출력 인수
알고리즘
ode89
는 Verner의 "가장 견고한" 룽게-쿠타 9(8) 쌍을 8차 연속적 확장으로 구현한 것입니다. 이 해는 9차까지 일반화됩니다. 8차 연속적 확장은 5번의 추가적인 odefun
계산이 필요하지만 보간이 필요한 스텝에서만 계산됩니다.
참고 문헌
[1] Verner, J. H. “Numerically Optimal Runge–Kutta Pairs with Interpolants.” Numerical Algorithms 53, no. 2–3 (March 2010): 383–396. https://doi.org/10.1007/s11075-009-9290-3.
확장 기능
버전 내역
R2021b에 개발됨