You are on page 1of 3

LABORATORIO DE MÉTODOS NUMÉRICOS

Método de Falsa posición


Descripción del algoritmo y criterios de parada

Nombres: Concha Katherin


Zapata Jefferson
Clavon David

Ejercicio:

1. Inicia tu programa del algoritmo de falsa posición realizado en Matlab.


2. Prueba tu programa encontrando la raíz de la función 𝑓1(𝑥) = 𝑥 − 1 en el intervalo
[-1,2]. La raíz exacta debe ser encontrada en una sola iteración.
3. Encuentra las raíces para las funciones indicadas abajo y llena la tabla, usa una
tolerancia de 1e-10.

Función Intervalo Raíz aproximada Numero de iteraciones


𝑓2(𝑥) = 𝑥 2 − 9 [0,5] 1 57
𝑓3(𝑥) = 𝑥 5 − 𝑥 − 1 [1,2] 1.1673 75
𝑓4(𝑥) = 𝑥𝑒 −𝑥 [-1,2] 2.22045e-16 85
𝑓5(𝑥) = 2 cos(3𝑥) − 𝑒 𝑥 [0,6] 0.282032 244
𝑓4(𝑥) = 𝑥𝑒 −𝑥 [-1.5,1] 4.44089e-16 143

4. Realiza el mismo procedimiento para 𝑓6(𝑥) = (𝑥 − 1)5 en el intervalo [0,3]. ¿Qué


sucede?

Debido a que el margen de tolerancia es muy alto debemos ingresar un número de


interacciones igual en este caso se probó con (10000), pero al momento de la compilación el
programa tarde en ejecutarse y nos indica mediante un mensaje que el número de
interacciones debe ser más alto por lo cual llegamos a la conclusión de que debemos bajar el
número de tolerancia.
5. Para la función anterior disminuye la tolerancia a 1e-6 e incrementa el número de
iteraciones a 500000 y llena la siguiente tabla.

Función Intervalo Raíz aproximada Numero de iteraciones


𝑓6(𝑥) = (𝑥 − 1)5 [0,3] 0.617698 5435

CODIGO:

clear all

format short;

a=input('Introduzca el valor de a: ');

b=input('Introduzca el valor de b: ');

cont=input('Introduzca el número de iteraciones cont: ');

fun=input('Introduzcal a funcion f(x)=','s');

f=inline(fun);

for k=1:cont

c=b-((f(b)*(b-a))/ f(b)-f(a));

e=abs((b-a)/2);

A(k,:)=[k a b c f(c) e];

if f(a)*f(c)<0
b=c;

else

a=c;

end

end

fprintf('\n \tk \ta \tb \tc \tf(a) \tf(b) \tf(c) \terror \n')

disp(A)

fprintf('Solución:\n c=%8.5f\n',c)

fprintf('f(c)=%8.5f\n',f(c))

fprintf('error=%8.5f\n',e)

You might also like