
Metodo falsa posicion en matlab
Publicado por Lunna (1 intervención) el 12/10/2014 18:29:20
!Hola!
Tengo una duda acerca del codigo en matlab sobre el metodo de la falsa posicion. Aqui le envio mi codigo a ver si esta escrito correctamente.
Mi duda es exactamente aqui:
p0=q1;
q0=p1;
pues la verdad no se si esta bien.
Gracias
Por otro lado, la ecuacion es la siguiente: exponencial de x-2=cos(exponencial de x-2). En la ecuacion del programa, sale despejado, queria corroborar que estuviera bien. Gracias nuevamente. Aqui el codigo:
function r = falsepositivefunction(x)
r =log(cos(exp(x)-2)+2);
f='falsepositivefunction';
p0=input('Initial aprox 1: ');
p1=input('Initial aprox 2: ');
tol=input('Tolerance: ');
N0=input('Iterations: ');
i=2;
q0=feval(f,p0);
q1=feval(f,p1);
while i<=N0
p = p1 - q1 * (p1 - p0)/(q1 - q0);
if abs(p - p1)>=tol
disp(p);
break;
end
i = i + 1;
q = feval(f,p);
if q * q1 < 0
p0= q1;
q0 = p1;
end
p1 = p;
q1 = q;
end
disp('Method failed.');
Exactamente el programa que utilizamos en clase es freemat. La versin gratuita
Tengo una duda acerca del codigo en matlab sobre el metodo de la falsa posicion. Aqui le envio mi codigo a ver si esta escrito correctamente.
Mi duda es exactamente aqui:
p0=q1;
q0=p1;
pues la verdad no se si esta bien.
Gracias
Por otro lado, la ecuacion es la siguiente: exponencial de x-2=cos(exponencial de x-2). En la ecuacion del programa, sale despejado, queria corroborar que estuviera bien. Gracias nuevamente. Aqui el codigo:
function r = falsepositivefunction(x)
r =log(cos(exp(x)-2)+2);
f='falsepositivefunction';
p0=input('Initial aprox 1: ');
p1=input('Initial aprox 2: ');
tol=input('Tolerance: ');
N0=input('Iterations: ');
i=2;
q0=feval(f,p0);
q1=feval(f,p1);
while i<=N0
p = p1 - q1 * (p1 - p0)/(q1 - q0);
if abs(p - p1)>=tol
disp(p);
break;
end
i = i + 1;
q = feval(f,p);
if q * q1 < 0
p0= q1;
q0 = p1;
end
p1 = p;
q1 = q;
end
disp('Method failed.');
Exactamente el programa que utilizamos en clase es freemat. La versin gratuita
Valora esta pregunta


0