2013-05-14 1 views
0

나는 결과를 플로팅하는 대신 단계적으로 결과를 얻으려는 odeplot을 사용하고 싶습니다. 이런 식으로 글을 쓰려고했는데 일할 수 없기 때문에 도움을 주셔서 감사합니다.Matlab - Odeset - Odeplot

%Parameters 

s = 1; 

q = 1; 

w = 0.1610; 

y0 = [30 1 30]; % Initial values 

tspan = [0 10]; % Time 0<t<10 

plot=odeset('OutputFcn','odeplot'); 

[t, y] = ode45(@(t,y) concentration(t, y, s, q, w), plot, tspan, y0); 
+0

당신이 [당신의 질문을 해결하는] 끝까지 대답 할 수 있습니까? (http://stackoverflow.com/help/accepted-answer)? – horchler

답변

1

당신은 ODE 옵션 인수를 통해 출력 기능을 지정해야합니다

options = odeset('OutputFcn', @odeplot); 
[t, y] = ode45(@(t,y)concentration(t, y, s, q, w), tspan, y0, options); 

물론 당신은 당신의 자신의 사용자 정의 출력 기능을 할 수 있습니다. 유형이 무엇인지 알아 보려면 edit odeplot을 입력하십시오 (훨씬 간단한 기능이 가능함). odephas2odephas3도 확인하십시오.