Calculaing the table of values for function defined as an infinie series

I need this code below to caluate the sum of the first 50 terms of the series :t to the power n for t value. That is, a kind of table of values for the series for t=1:10 It gives the error message: ??? Error using ==> power Matrix dimensions must agree. Please someone help % Calculating the sum of an infinite series
t =1:10;
n=0:50;
E(1,:)= sum(t.^n)

 Respuesta aceptada

Jos
Jos el 19 de Jul. de 2014
Editada: Jos el 19 de Jul. de 2014
you can use a for loop to do this
t = 1:10;
n = 0:50;
for i=1:length(t)
E(1,i)=sum(t(i).^n);
end
Cheers
Joe

4 comentarios

I am sorry to say the code /answer did not work quite well. For one thing, manually, E(1)= 51 which did not tarry with the result obtained using the answer. Thanks anyway.
I tested it and it indeed does work. For i = 1 it produced E(1) = 51 as expected.
Try plotting t versus E values and the figure won't match your expectation. I mean write/run: t=1:10; y = [E(1), E(2), . . . E(10)]; plot(t, y)
Both the method above and the one below by Roger (a lot more elegant by the way) produce exactly what you would expect
E:
51
2.25e+15
1.08e+24
1.69e+30
1.11e+35
9.70e+38
2.10e+42
1.63e+45
5.80e+47
1.11e+50
plotting E in the way you try to do will basically only show the last point as it is a lot bigger than the other points, try plotting the y axis on a logarithmic scale using semilogy(t,E), you'll get this graph

Iniciar sesión para comentar.

Más respuestas (1)

Also you can use this:
E = sum(bsxfun(@power,1:10,(0:50)'),1);

4 comentarios

Thanks. Try plotting t versus E values and the figure won't match your expectation. I mean write/run: t=1:10; y = [E(1), E(2), . . . E(10)]; plot(t, y)
It should be noted that these are what are known in algebra as geometric series, and, except for the case t = 1, their sum can be computed by a simpler method which does not require summation of all 51 terms:
N = 50;
t = 2:10;
E(t) = (t.^(N+1)-1)./(t-1);
E(1) = N+1;
For example, E(2) = (2^51-1)/(2-1) = 2251799813685247.
Roger Stafford
Roger Stafford el 20 de Jul. de 2014
Editada: Roger Stafford el 20 de Jul. de 2014
A Side Note: The value of your E(10) would be 1111...11, a string of fifty-one 1's in decimal, if it were computed exactly. This reminds me of one of the Fifty-Eighth Putnam Exam questions which posed the intriguing problem: "Let N be the positive integer with 1998 decimal digits, all of them 1; that is, N = 1111...11. Find the thousandth digit after the decimal point of the square root of N." (Surprisingly, it is solvable without using a computer.)

Iniciar sesión para comentar.

Categorías

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by