ode113
비경직성(Nonstiff) 미분방정식 풀기 — 가변 차수법
구문
설명
[
입니다. 여기서 t
,y
] = ode113(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
] = ode113(odefun
,tspan
,y0
,options
)te
는 이벤트 발생 시간이고, ye
는 이벤트 발생 시 계산된 해이며, ie
는 트리거된 이벤트의 인덱스입니다.
각 이벤트 함수에 대해, 0에서 적분을 종료할지 여부와 영점교차의 방향을 고려할지 여부를 지정합니다. 이를 수행하려면 'Events'
속성을 함수(예: myEventFcn
또는 @myEventFcn
)로 설정하고 대응 함수 [value
,isterminal
,direction
] = myEventFcn
(t
,y
)를 생성합니다. 자세한 내용은 ODE 이벤트 위치 항목을 참조하십시오.
은 sol
= ode113(___)deval
과 함께 사용하여 구간 [t0 tf]
내의 임의의 점에서 해를 계산할 수 있는 구조체를 반환합니다. 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 사용할 수 있습니다.
예제
입력 인수
출력 인수
알고리즘
ode113
은 차수가 1~13인 가변 스텝, 가변 차수(VSVO) 아담스-배시포스-몰턴(Adams-Bashforth-Moulton) PECE 솔버입니다. 사용되는 최고 차수가 12인 것처럼 보이지만, 오차 추정값을 형성하는 데 차수가 13인 식이 사용되고 해당 함수가 차수 13에서 적분을 진행하기 위해 국소 외삽법을 수행합니다.
ode113
은 허용오차가 엄격하거나 ODE 함수를 계산하는 데 특히 시간이 많이 드는 경우 ode45
보다 더 효율적일 수 있습니다. ode113
은 다중 스텝 솔버이므로, 현재 해를 계산하기 위해 일반적으로 여러 개의 이전 시간 점에서의 해를 필요로 합니다[1], [2].
참고 문헌
[1] Shampine, L. F. and M. K. Gordon, Computer Solution of Ordinary Differential Equations: the Initial Value Problem, W. H. Freeman, San Francisco, 1975.
[2] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
버전 내역
R2006a 이전에 개발됨