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?
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?
Could u mathematically explain ur problem. I can suggest u some numerical techniques to solve it.
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