Attached is the equation I am attempting to emulate.
quintuple summation using a for loop
3 次查看(过去 30 天)
显示 更早的评论
Ive tried setting the sum to an empty cell and filling it and not declaring it and I do not know what to do or whats wrong and why it will not give me an answer different than the inital declaration.
syms i j k l p q
U = ((-1)^j)*a' - ((-1)^i)*a;
V = ((-1)^j)*a' - ((-1)^i)*a;
W = ((-1)^j)*a' - ((-1)^i)*a;
r = sqrt(U*U+V*V+W*W);
Phi = -U*W*log(r-U)-V*W*log(r-V)+U*V*atan((U*V)/(r*W))-r*W;
for i = 0:1
for j = 0:1
for k = 0:1
for l = 0:1
for p = 0:1
for q = 0:1
sum = sum + (((-1)^(i+j+k+l+p+q))*Phi);
disp(sum)
end
disp(sum)
end
disp(sum)
end
disp(sum)
end
disp(sum)
end
disp(sum)
end
disp(sum)
回答(1 个)
David Goodmanson
2020-6-23
编辑:David Goodmanson
2020-6-23
Hello Wyatt,
The sum comes out zero because it is, in fact, zero. Each term in the desired sum is
((-1)^(iw+jw+k+l+p+q))*constant;
Each of the indices is +-1. Their sum is either even or odd.
When it's even, the term contributes (-1)^even = +constant to the desired sum.
When it's odd, the term is contributes (-1)^odd = -constant to the desired sum.
There are 2^6 instances of (iw+jw+k+l+p+q), and half of those sums are even, half odd as you can check. So the desired sum ends up as zero.
It would be better if you went with Walter's recommendation and used something other than 'sum' for the sum variable. 'Sum' would work fine.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!