Problem with symsum using infinity as the upper limit of the variable.

1 visualización (últimos 30 días)
Tristan
Tristan el 27 de En. de 2014
Respondida: Roger Stafford el 27 de En. de 2014
I'm not sure if I'm using symsum correctly, why can't matlab give me an aswer when m is equal to infinity?
>> m=1000;
syms n;
x=[1 1/2 1/3 1/3*2 1/4 1/5 1/6 1/7];
a=symsum(((-(1./(2.^n)))*(x.^0)).*(abs(sign((round(n*x))-n*x))-1),n,1,m);
double (a')
ans =
1.0000
0.3333
0.1429
0.1429
0.0667
0.0323
0.0159
0.0079
>> m=inf;
syms n;
x=[1 1/2 1/3 1/3*2 1/4 1/5 1/6 1/7];
a=symsum(((-(1./(2.^n)))*(x.^0)).*(abs(sign((round(n*x))-n*x))-1),n,1,m);
>> a'
ans =
-conj(sum(1/2^n*(abs(sign(round(n) - n)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/2) - n/2)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/3) - n/3)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round((2*n)/3) - (2*n)/3)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/4) - n/4)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/5) - n/5)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/6) - n/6)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/7) - n/7)) - 1), n == 1..Inf))
I'd like to find a way to get the exact values for a, which should be:
1/1
1/3
1/7
1/7
1/15
1/31
1/63
1/127

Respuestas (2)

Thomas
Thomas el 27 de En. de 2014
instead of a' try
vpa(a')
You might not get all the value but close..

Roger Stafford
Roger Stafford el 27 de En. de 2014
Tristan, you and I know the precise values of those infinite sums:
-conj(sum(1/2^n*(abs(sign(round(n) - n)) - 1), n == 1..Inf))
-conj(sum(1/2^n*(abs(sign(round(n/2) - n/2)) - 1), n == 1..Inf))
etc.
because we are intelligent human beings, but clearly in this case 'symsum' falls short of being able to do that. (I know a number of humans who would also not be able to succeed in that endeavor.) Where you gave m the finite value 1000, it must have painstakingly evaluated those expressions for each value of n to obtain an answer, but infinity proved too much for it. Perhaps one of these days Mathworks will revise 'symsum' to be smart enough to handle infinity in such a case. It is able to handle infinity in a number of other situations.

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by