Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Attempting to have a series for sin stop summing when the precision is correct
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
p = 0;
Pn = sinser(p,x);
figure(3)
plot(x,sin(x),'-k')
hold on
plot(x,Pn)
axis([0 100 -2 2])
title('Sine Curve Series')
xlabel('x')
ylabel('y')
legend('Sin(x)','P')
hold off
function [p,x] = sinser(p,x)
ssx = 1000000*p;
sinx = 1000000*sin(x);
floor1 = floor(ssx);
floor2 = floor(sinx);
if floor1 ~= floor2
b = 1;
else
b = 0;
end
k = 0;
while b == 1
p = p + (((-1)^k*(x.^(2*k+1)))/(factorial(2*k+1)));
k = k + 1;
end
end
For some reason, MatLab is stating that Pn = 0. I am not sure why. I am hoping for Pn to equal some sort of summation that follows the sine curve. Ultimately it should be a 1x1001 matrix, but it is giving me a scalar value. Any help is appreciated.
0 comentarios
Respuestas (1)
James Tursa
el 17 de Oct. de 2019
Inside the sinser function, you never set p to a vector ... it is always just a scalar. If you want to return all of those intermediate values of p, then you need to redo your logic to save them in a vector (e.g., using p(k) and p(k+1) etc inside the function as appropriate).
0 comentarios
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!