実験データを使用して二重積分を実行する必要がありますが、積分限界は各積分 (この場合は時間) で同じです。数学的に私は計算する必要があります:
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 がスプラインの処理に問題がある可能性があることだと思いますが、それを解決する方法がわかりません。