MATLAB: Summation with (Dependent summation)

double sumStatistics and Machine Learning Toolboxsumsummation

I need to write a code in Matlab for the following equation:
Σ i=0 to 100 ( (f(x). Σ j=0 to k f(y) )
where f(x), f(y) and k returns constant values. I have tried to write this code. Kindly tell me if this code is logically correct or if we can avoid loops; it would be better.
fx=0.08092;
fy=0.01932;
k=300
YY1 = [];
sum2=0;
for i=1:100
Y2 = [];
for j=1:k
Y1=sum(f2);
end
Y2=sum(f1*Y1)
YY1 = [YY1 Y2];
end
Final=sum(YY1)

Best Answer

This line will slow it down a lot:
YY1 = [YY1 Y1];
It resizes YY! on each iteration. Instead, rpeallocate YY1 and then fill it in:
YY1 = zeros(100*jj,1);
then
YY1(ii+jj-1) = Y1;
Of course if you don't need YY1 for anything other than the sum, then just add it on each iteration:
YY1 = YY1+Y1;
Also, your function is not dependent on the for loop variables, so the same answer will be returned on each iteration. This you could also just multiple
sum2 = sum(fx*sum(fy))*100*jj
Related Question