Borrar filtros
Borrar filtros

Hi! I need help with how I put an input in this program!

2 visualizaciones (últimos 30 días)
Anthony Fuentes
Anthony Fuentes el 15 de Oct. de 2016
Respondida: Geoff Hayes el 15 de Oct. de 2016
Hi! I need help with this program (below).I need to put the n terms with an input, and I don't want that the graph behavior tends to infinity. Thanks a lot.
clear
clc
p = 0; % Start at 0
S = []; % Initiate array of approximations
i = 0;
while 1 == 1 % Infinite Loop
p = p + (4*((-1)^i))/(2*i + 1); % The Leibniz formula for pi: http://en.wikipedia.org/wiki/Leibniz_formula_for_pi
if rem(i,2) == 0 % Alternately set p1 and p2, then average them to find a better approximation
p1 = p;
S = [S p1]; % Append new value to array
if i > 9
plot(length(S)-10:length(S),S(length(S)-10:end))
axis([length(S)-10 length(S) 2 4])
pause(0.1)
else
plot(S)
axis([1 10 2 4])
pause(0.1)
end
else
p2 = p;
S = [S p2]; % Append new value to array
if i > 9
plot(length(S)-10:length(S),S(length(S)-10:end))
axis([length(S)-10 length(S) 2 4])
pause(0.1)
else
plot(S)
axis([1 10 2 4])
pause(0.1)
end
end
i = i + 1;
end

Respuestas (1)

Geoff Hayes
Geoff Hayes el 15 de Oct. de 2016
Anthony - which n terms? Or do you only want the program to iterate for at most n times? If this is true, then just take your script and make it into a function that takes a single input: a maximum number of iterations. Something like
function myFunc(n)
Your while loop then becomes
while i < n
and your result S will have n elements. Since this is a function, make sure that you remove your call to clear.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by