Summation with (Dependent summation)

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)

 채택된 답변

Sean de Wolski
Sean de Wolski 2013년 5월 10일

1 개 추천

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

추가 답변 (1개)

Usman Khalid
Usman Khalid 2013년 5월 13일

0 개 추천

Thanks for your answer. Please tell me why did you write jj instead of j? and there is another error at YY1(ii+jj-1) = Y1; Error: Attempted to access YY1(-1); index must be a positive integer or logical

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by