Borrar filtros
Borrar filtros

Question about to reconduct [for loop statement] to the code using vectorization

1 visualización (últimos 30 días)
hello
first i made the code that he answer to the following expression is 0.7849
its expression is
the code i made is (result is 0.7849)
sum=0;
for m=0:2:10000000
k=m;
i=m+1;
sumx=(1/(2*k+1));
sumy=(-1/(2*i+1));
sum=sumx+sumy+sum
end
-----------------------------------------------------------------------------------------------
So, What I want to do is to reconstruct the code above using vectorization.(use ./ .*) (not using for loop statement)
i made this, but it works strangely.(I don't know if I made it right)
format short
sum=0;
m=0:2:500;
k=m;
i=m+1;
sumx=(1./(2*k+1));
sumy=(-1./(2*i+1));
sum=sumx+sumy+sum
Should I write more variable?
How do I reconstruct it right?
  2 comentarios
VBBV
VBBV el 26 de Oct. de 2022
format short
sumi=0; % sum is builtin function of matlab
m=0:2:500;
k=m;
i=m+1;
sumx=sum((1./(2*k+1))); % apply the sum function to the series
sumy=sum((-1./(2*i+1))); % sum the series
Sum=sumx+sumy+sumi
Sum = 0.7849
sum is a builtin function in matlab, variables are usually named that doesnt conflict with standard builtin functions in matlab,
Hakyoon Kim
Hakyoon Kim el 26 de Oct. de 2022
Editada: Hakyoon Kim el 26 de Oct. de 2022
i did simillar as you did, but it didnt work because i used 'sum' function as it.
after seeing this, i found my fault.
thanks!

Iniciar sesión para comentar.

Respuesta aceptada

David Hill
David Hill el 26 de Oct. de 2022
format long
s=sum(1./(2*(0:2:500)+1)-1./(2*(1:2:501)+1))
s =
0.784900155923366

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by