como entender los comandos for while end
Publicado por dante (3 intervenciones) el 10/05/2012 19:47:38
no entiendo varios comandos para hacer repeticiones como por ejemplo de este programa por el metodo de la secante
format long;
syms x;
f = input ('Ingrese la Funcion a Evaluar con Variable "x". F(x)= ');
p0 = input ('Ingrese la Aproximacion de P0 = ');
p1 = input ('Ingrese la Aproximacion de P1 = ');
tol = input ('Ingrese el Valor de la Tolerancia = ');
n = input ('Ingrese el Numero de Iteraciones = ');
n = n + 2;
disp (' N P1 |P-P1| P');
q0 = subs (f,x,p0);
q1 = subs (f,x,p1);
i = 2;
while i <= n
p = p1 - (q1*((p1-p0)/(q1-q0)));
m = [i-1 p1 (abs(p-p1)) p];
disp(m)
if abs(p - p1) <= tol
disp('Procedimiento Terminado Satisfactoriamente')
i = n + 1;
else
i = i + 1;
p0 = p1;
q0 = q1;
p1 = p;
q1 = subs (f,x,p);
end
if i == n
disp('El Metodo Fracaso ')
i = i + 1;
end
end
format long;
syms x;
f = input ('Ingrese la Funcion a Evaluar con Variable "x". F(x)= ');
p0 = input ('Ingrese la Aproximacion de P0 = ');
p1 = input ('Ingrese la Aproximacion de P1 = ');
tol = input ('Ingrese el Valor de la Tolerancia = ');
n = input ('Ingrese el Numero de Iteraciones = ');
n = n + 2;
disp (' N P1 |P-P1| P');
q0 = subs (f,x,p0);
q1 = subs (f,x,p1);
i = 2;
while i <= n
p = p1 - (q1*((p1-p0)/(q1-q0)));
m = [i-1 p1 (abs(p-p1)) p];
disp(m)
if abs(p - p1) <= tol
disp('Procedimiento Terminado Satisfactoriamente')
i = n + 1;
else
i = i + 1;
p0 = p1;
q0 = q1;
p1 = p;
q1 = subs (f,x,p);
end
if i == n
disp('El Metodo Fracaso ')
i = i + 1;
end
end
Valora esta pregunta


0