我需要使用实验数据执行双重积分,但我的积分限制对于每个积分都是相同的,在这种情况下是时间。数学上我需要计算:
E [ a 0 + ∫<sub>0 T a(t)dt ] = a + lim Tx → ∞</sub> (1/T) ∫<sub>0 T ∫<sub>0 t a dt dT
经过一番搜索,我到达了:
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) );
代码需要很长时间才能运行并提供巨大的价值。我认为我的问题是 Matlab 可能无法处理样条曲线,但我不知道如何解决。