ode45
비경직성(Nonstiff) 미분방정식 풀기 — 중간 차수 방법
구문
설명
[입니다. 여기서 t,y] = ode45(odefun,tspan,y0)tspan = [t0 tf]는 t0에서 tf까지의 구간에서 초기 조건 y0을 사용하여 연립미분방정식 를 적분합니다. 해 배열 y의 각 행은 열 벡터 t에 반환된 값에 대응합니다.
모든 MATLAB® ODE 솔버는 형식의 연립방정식이나 질량 행렬이 있는 문제 를 풀 수 있습니다. 솔버는 모두 유사한 구문을 사용합니다. ode23s 솔버는 상수 질량 행렬을 갖는 문제만 풀 수 있습니다. ode15s와 ode23t는 특이 질량 행렬을 포함하는 문제(즉, 미분대수 방정식(DAE))를 풀 수 있습니다. odeset의 Mass 옵션을 사용하여 질량 행렬을 지정합니다.
ode45는 다용도 ODE 솔버이며 대부분의 문제에서 최우선적으로 시도해 봐야 할 솔버입니다. 하지만, 문제가 경직성 문제이거나 높은 정확성을 요하는 경우 다른 ODE 솔버가 더 적합할 수 있습니다. 자세한 내용은 ODE 솔버 선택하기 항목을 참조하십시오.
[는 이벤트 함수라고 하는 (t,y)의 함수가 0인 위치를 추가로 찾습니다. 출력값에서 t,y,te,ye,ie] = ode45(odefun,tspan,y0,options)te는 이벤트 발생 시간이고, ye는 이벤트 발생 시 계산된 해이며, ie는 트리거된 이벤트의 인덱스입니다.
각 이벤트 함수에 대해, 0에서 적분을 종료할지 여부와 영점교차의 방향을 고려할지 여부를 지정합니다. 이를 수행하려면 'Events' 속성을 함수(예: myEventFcn 또는 @myEventFcn)로 설정하고 대응 함수 [value,isterminal,direction] = myEventFcn(t,y)를 생성합니다. 자세한 내용은 ODE 이벤트 위치 항목을 참조하십시오.
예제
입력 인수
출력 인수
알고리즘
ode45는 명시적 룽게-쿠타(Explicit Runge-Kutta) (4,5) 공식인 도르만드-프린스(Dormand-Prince) 쌍을 기반으로 합니다. 이는 단일 스텝(Single-step) 솔버입니다. 즉, y(tn)을 계산할 경우 이 솔버는 바로 이전 시간 점 y(tn-1)에서의 해만 필요로 합니다[1], [2].
참고 문헌
[1] Dormand, J. R. and P. J. Prince, “A family of embedded Runge-Kutta formulae,” J. Comp. Appl. Math., Vol. 6, 1980, pp. 19–26.
[2] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
확장 기능
버전 내역
R2006a 이전에 개발됨








