ODE 옵션 요약
ODE를 풀 때에는 파라미터를 미세 조정하거나, 허용오차를 조정하거나, 추가 정보를 솔버에 전달해야 할 경우가 많습니다. 여기에서는 솔버 함수(ode45
, ode15s
등)에 대한 옵션을 지정하는 방법과, 각 옵션이 어떤 미분 방정식 솔버와 호환되는지 보여줍니다.
옵션 구문
odeset
함수를 사용하여 솔버에 네 번째 입력 인수로 전달할 options 구조체를 생성합니다. 예를 들어, 상대 허용오차와 절대 허용오차를 조정하려면 다음을 입력하십시오.
opts = odeset('RelTol',1e-2,'AbsTol',1e-5); [t,y] = ode45(@odefun,tspan,y0,opts);
명령 odeset
을 입력값 없이 사용할 경우 MATLAB®은 각 옵션에 대해 가능한 값의 목록을 표시합니다(디폴트 값은 중괄호 {}
로 표시됨).
odeget
함수는 기존 구조체의 옵션 값을 쿼리합니다. 이를 사용하여 조건을 기준으로 옵션 값을 동적으로 변경할 수 있습니다. 예를 들어, 다음 코드는 Stats
가 'on'
으로 설정되어 있는지 여부를 알아내고 필요한 경우 값을 변경합니다.
if isempty(odeget(opts,'Stats')) odeset(opts,'Stats','on') end
옵션과 각 솔버의 호환성
odeset
의 옵션 중에는 어떤 솔버와도 호환되는 일반적인 옵션이 있는 반면, 특정 솔버에만 사용할 수 있는 옵션도 있습니다. 다음 표에는 여러 솔버에 대한 각 옵션의 호환성이 정리되어 있습니다.
옵션 그룹 | 옵션 | ode45 | ode23 | ode78 | ode89 | ode113 | ode15s | ode23s | ode23t | ode23tb | ode15i |
---|---|---|---|---|---|---|---|---|---|---|---|
오차 제어 | RelTol | | | | | | | | | | |
AbsTol | | | | | | | | | | | |
NormControl | | | | | | | | | | | |
솔버 출력값 | NonNegative | | | | | | | | | | |
OutputFcn | | | | | | | | | | | |
OutputSel | | | | | | | | | | | |
Refine | | | | | | | | | | | |
Stats | | | | | | | | | | | |
스텝 크기 | InitialStep | | | | | | | | | | |
MaxStep | | | | | | | | | | | |
이벤트 위치 | Events | | | | | | | | | | |
야코비 행렬(Jacobian Matrix) | Jacobian | | | | | | | | | | |
JPattern | | | | | | | | | | | |
Vectorized | | | | | | | | | | | |
질량 행렬과 DAE | Mass | | | | | | | | | | |
MStateDependence | | | | | | | | | | | |
MvPattern | | | | | | | | | | | |
MassSingular | | | | | | | | | | | |
InitialSlope | | | | | | | | | | | |
ode15s 및 ode15i 에 대한 알고리즘 옵션 | MaxOrder | | | | | | | | | | |
BDF | | | | | | | | | | |
* 질량 행렬이 없는 문제의 경우에만 NonNegative
파라미터를 ode15s
, ode23t
, ode23tb
와 함께 사용하십시오.
** ode15i
에 대한 이벤트 함수는 yp
에 대한 세 번째 입력 인수를 받아야 합니다.
사용 예제
MATLAB에는 다양한 옵션의 사용 방법을 보여주는 여러 예제 파일이 포함되어 있습니다. 예를 들어, edit ballode
를 입력하면 'Events'
를 사용하여 이벤트 함수를 지정하는 예제를 볼 수 있고, edit batonode
를 입력하면 'Mass'
를 사용하여 질량 행렬을 지정하는 예제를 볼 수 있습니다. 예제 파일에 대한 전체적인 개요와 각 예제 파일에서 어떤 옵션을 사용하는지 보려면 ODE 예제와 파일에 대한 요약 항목을 참조하십시오.