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)
Steven Manz
Steven Manz el 17 de Oct. de 2019
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
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.

Respuestas (1)

James Tursa
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).

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by