Double integration using experimental data

I need to perform a double integration using experimental data, but my integration limits are the same for each integral, in this case the time. After review some old posts I reached to the following code:
T = 0:0.1:600;
x = T;
A = rand(1,length(T)); % my data
pp_int = spline(T,A );
DoubleIntegration = integral(@(x)arrayfun(@(T )(integral(@(T ) ppval(pp_int,T ),0, T )),x),0,T(end) );
The code take so long to run, and give huge values. Someone I can indicate whether I am doing something wrong? If this is the case how I can correct ?
Regards

댓글 수: 4

See Bruno's suggestion http://www.mathworks.com/matlabcentral/newsreader/view_thread/337413 and also Mike's suggestion in the last there, about using waypoints.
Perhaps you should be using integral2() instead of what you are doing?
Manuel
Manuel 2015년 6월 17일
편집: Walter Roberson 2015년 6월 18일
Dear Walter,
The Bruno's suggestion only allows me to perform the first integral that is something like this:
pp_3int = spline(T,A0 );
for j=1:n-1
a=T(j);
b=T(j+1);
z2 (j) =quad(@(T) ppval(pp_3int,T), a, b,1e-10);
end
z3 = (cumsum([0 z2]));
However, I need to do a second integration using the same limits since I need to obtain the variance Variance based on the expected values for my data.
Concerning your suggestion to use the function integral2() could you explain more in detail how this can be done since the function requires a dependency of two variables?
arun
arun 2015년 6월 18일
Could u mathematically explain ur problem. I can suggest u some numerical techniques to solve it.
Manuel
Manuel 2015년 6월 18일
편집: Manuel 2015년 6월 18일
Mathematically I need to calculate:

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

답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2015년 6월 6일

편집:

2015년 6월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by