Anda di halaman 1dari 3

Universidad Nacional Mayor de San Marcos

Facultad de Ingenierı́a Eléctrica y Electrónica


E.A.P. de Ingenierı́a Eléctrica y Electrónica
Laboratorio de Métodos Numéricos, Semestre 2018 - I
Método de Biscción

Taller 02
Método de Bisección y Regla Falsa
1. Use un computador para crear un programa que que reciba de entrada una función y el pro-
grama busque intervalos donde la función tenga raı́ces. Pruebe su programa con las siguientes
funciones:
(a) f (x) = 3x5 − 7x4 − 5x3 + x2 − 8x + 2
(b) f (x) = x sen(x)
Solución:

%Programa que calcula intervalos donde


%la fución posee raı́ces
%ingresamos la función
ff=input(’ingresa la función: ’,’s’);
%convertimos la función en lı́nea
f=inline(ff);
%ingresamos el rango en el que queremos que
%busque las raı́ces
a=input(’Ingresa el extremo inferior: ’);
b=input(’Ingresa el extremo superior: ’);
aa=floor(a);
bb=floor(b);
n=bb-aa+1;
k=0;
%empezamos a buscar las raı́ces
for i=1:n,
if f(aa+(i-1))*f(aa+i)==0
i=i+1;
elseif f(aa+i-1)*f(aa+i)<0
fprintf(’Existe una raı́z en [ %6.2f , %12.8f ] \n’,aa+i-1,aa+i);
k=1;
else
i=i+1;
end
end
if k==0
fprintf(’La función f(x)= %4.20s no posee raı́ces en [%6.2f ,%6.2f ]\n’,ff,a,b);
end

Compruebe sus funciones gráficamente, haciendo los ajustes necesarios


2. Haga una función que halle las raı́ces de las funciones usando el método de bisección, la
función debe recibir de parámetros f , a y b, ası́ como el error aceptado. solución:

function [c,err,yc]=biseccion(ff,a,b,delta)
%Datos
%ff es la función debemos ingresarla como cadena de caracteres ’f’
% a y b son los extremos del intervalo
%delta es la tolerancia

Prof. Edwin Chávez R. 1


Universidad Nacional Mayor de San Marcos
Facultad de Ingenierı́a Eléctrica y Electrónica
E.A.P. de Ingenierı́a Eléctrica y Electrónica
Laboratorio de Métodos Numéricos, Semestre 2018 - I
Método de Biscción

%c es la raı́z de la función
%yc=f(c)
%err es el error estimado de la aproximación a c
f=inline(ff);
ya=f(a);
yb=f(b);
op=0;
if ya*yb>0
disp(’No existe raı́ces en este intervalo’);
c=0;
err=0;
yc=0;
else
max1=1+round((log(b-a)-log(delta))/log(2));
for k=1:max1,
c=(a+b)/2;
yc=f(c);
if yc==0
a=c;
b=c
elseif yb*yc>0
b=c;
yb=yc;
else
a=c;
ya=yc;
end
if b-a<delta, break, end
end
c=(a+b)/2;
err=abs(b-a);
yc=f(c);
end
end

3. Pruebe la función anterior con los ejercicios dados en la práctica 2.


4. Modifique la función anterior para convertila en una función que use el método de la regla
falsa.

5. Para cada una de las siguientes funciones, halle un intervalo [a, b] de manera que f (a) y f (b)
tengan distinto signo.
(a) f (x) = ex − 2 − x
(b) f (x) = cos(x) + 1 − x
(c) f (x) = ln(x) − 5 + x
(d) f (x) = x2 − 10x + 23
6. En los siguientes ejercicios empiece con el intervalo [a0 , b0 ] y use el método de la regla falsa
para calcular c0 , c1 , c2 y c2
(a) f (x) = ex − 2 − x, [a0 , b0 ]=[-2.1,-1.6]
(b) f (x) = cos(x) + 1 − x, [a0 , b0 ]=[0.8,1.6]

Prof. Edwin Chávez R. 2


Universidad Nacional Mayor de San Marcos
Facultad de Ingenierı́a Eléctrica y Electrónica
E.A.P. de Ingenierı́a Eléctrica y Electrónica
Laboratorio de Métodos Numéricos, Semestre 2018 - I
Método de Biscción

(c) f (x) = ln(x) − 5 + x, [a0 , b0 ]=[3.2,4.0]


(d) f (x) = x2 − 10x + 23, [a0 , b0 ]=[6.0,6.8]

Prof. Edwin Chávez R. 3

Anda mungkin juga menyukai