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 |
|
|
|
|
|
|
|
|
|
| |
MinStep |
|
|
|
|
|
|
|
|
|
| |
| 이벤트 위치 | 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 예제와 파일에 대한 요약 항목을 참조하십시오.