Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

ODE 옵션 요약

ODE를 풀 때에는 파라미터를 미세 조정하거나, 허용오차를 조정하거나, 추가 정보를 솔버에 전달해야 할 경우가 많습니다. 여기에서는 옵션을 지정하는 방법과, 각 옵션이 어떤 미분 방정식 솔버와 호환되는지 보여줍니다.

옵션 구문

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의 옵션 중에는 어떤 솔버와도 호환되는 일반적인 옵션이 있는 반면, 특정 솔버에만 사용할 수 있는 옵션도 있습니다. 다음 표에는 여러 솔버에 대한 각 옵션의 호환성이 정리되어 있습니다.

옵션ode45ode23ode113ode15sode23sode23tode23tbode15i

RelTol
AbsTol
NormControl

OutputFcn
OutputSel
Refine
Stats

NonNegative

✓*

✓*

✓*

Events

✓**

MaxStep
InitialStep

Jacobian
JPattern
Vectorized

Mass
MStateDependence
MvPattern
MassSingular

























InitialSlope

MaxOrder
BDF


* 질량 행렬이 없는 문제의 경우에만 NonNegative 파라미터를 ode15s, ode23t, ode23tb와 함께 사용하십시오.

** ode15i에 대한 이벤트 함수는 yp에 대한 세 번째 입력 인수를 받아야 합니다.

사용 예제

MATLAB에는 다양한 옵션의 사용 방법을 보여주는 여러 예제 파일이 포함되어 있습니다. 예를 들어, edit ballode를 입력하면 'Events'를 사용하여 이벤트 함수를 지정하는 예제를 볼 수 있고, edit batonode를 입력하면 'Mass'를 사용하여 질량 행렬을 지정하는 예제를 볼 수 있습니다. 예제 파일에 대한 전체적인 개요와 각 예제 파일에서 어떤 옵션을 사용하는지 보려면 ODE 예제와 파일에 대한 요약 항목을 참조하십시오.

참고 항목

|

관련 항목