plot integral equation coming from ode solver

I have an equation that comes from ode solver :
[t1 V1] = ode15s(dV1dt, t1, y1); plot(t1, V1 ,'-b','lineWidth',2)
then I do some basic addition or subtraction on it for eg :
Aout1=(V1-1); plot(t1,Aout1,'-b','lineWidth',2);
Now I wish to integrate the output : So I tried with
final = integral (Aout1, 0, 4.2)
But I get error :
Error using integral (line 82) First input argument must be a function handle.
I tried other things as well; but I don't achieve what I wish. Although 'cumsum' works well on it just like that.

 채택된 답변

Star Strider
Star Strider 2019년 2월 15일

0 개 추천

Use the trapz (link) function:
idx = find(t1 <= 0.42);
final = trapz(t1(idx), Aout1(idx))
Since you menitoned cumsum, also see the documentation for cumtrapz (link).

댓글 수: 8

STP
STP 2019년 2월 18일
Hi Star Strider; I did read about it. Although if I just want to use to integral function; the error still is valid.
Torsten
Torsten 2019년 2월 18일
The first argument to "integral" is a function handle, not a vector of values as in your case. So either use "trapz" or "cumtrapz" as suggested or include the integration in the call to ODE15S by defining a second equation dV2/dt = V1-1 besides dV1/dt =dV1dt.
@Torsten — Thank you.
STP
STP 2019년 2월 21일
편집: STP 2019년 2월 21일
@torsten : I tried including integration in ode solver but still I didnt get it
dV1dt = @(t,V) ((U_in1*omega*beta)/Qo) - omega_half*V;
[t1 V1] = ode15s(dV1dt, t1, y1)
dV2dt = integral(V1-1);
@Torsten How to extract the integration value is it :v2(:) or v2(end)???
This is your sugesstion :"include the integration in the call to ODE15S by defining a second equation dV2/dt = V1-1 besides dV1/dt =dV1dt"
V2(i) = integral_{t=tspan(1)}^{t=tspan(i)} (V1(t)-1) dt (1 <= i <= end)
thanks @Torsten this extract with defining dV2/dt = V1-1 , I thought ode15 will be integrated it without using integral function? please clarify it for me.
Thanks
Torsten
Torsten 2023년 8월 20일
편집: Torsten 2023년 8월 20일
If you call ode15s with the additional ODE dV2/dt = V1(t)-1, V2(tspan(1)) = 0, ode15s will return
V2(i) = integral_{t=tspan(1)}^{t=tspan(i)} (V1(t)-1) dt (1 <= i <= end)
in the solution column for V2 in Y. The call somehow looks like
[T,Y] = ode15s(dVdt,tspan,[V1,0])
If you have further questions, please include executable code and mark the line where you have difficulties.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기

질문:

STP
2019년 2월 15일

편집:

2023년 8월 20일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by