Sei sulla pagina 1di 8

EJERCICIOS PROPUESTOS

Para las funciones

a) ex-x-2=0;

b) x3-x2-2x+1;

c) 2e-x-sen(x)=0;

d)3x3+4x2-8x-1=0;

Determine el intervalo de raíces primero en forma manual y luego aplicando el algoritmo, luego
halle las raíces por el método de bisección antes en forma manual y luego compruebe aplicando
programa con el intervalo que has encontrado, considere una precisión relativa de 0.5%.

%Para la función 'a' se tiene

% Vemos que el intervalo esta para la función f(x) pertenece a [-3:-1]


% Se tiene la función

function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
while abs(f(x))>tol
x=(x0+x1)/2;
if f(x0)*f(x)<0
x1=x;
else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end

%%% Ejecutando desde la ventana de comandos se tiene


>> biseccion('exp(x)-x-2',-3,-1,0.005)

raiz =

-1.8438
%Para la función 'b' se tiene

% Vemos que el intervalo para la función f(x) pertenece a [0:1]

% Se tiene la función
function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
while abs(f(x))>tol
x=(x0+x1)/2;
if f(x0)*f(x)<0
x1=x;
else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end
% Ejecutando desde la ventana de comandos se tiene
>> biseccion('x^3-x^2-2*x+1',0,1,0.005)

raiz =

0.4453

% Para la función 'c' se tiene

% Vemos que la intersección de las dos funciones se dan en varios puntos


para tal caso escogeremos un solo intervalo que será [0,1]
% Se tiene la función

function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
while abs(f(x))>tol
x=(x0+x1)/2;
if f(x0)*f(x)<0
x1=x;
else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end

% Ejecutando desde la ventana de comandos se tiene

>> biseccion('2*exp(-x)-sin(x)',0,1,0.005)

raiz =

0.9219
% Para la función 'd' se tiene

% Vemos que el intervalo para esta función f(x) pertenece a [-0,5:0.5]

% Se tiene la función

function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
while abs(f(x))>tol
x=(x0+x1)/2;
if f(x0)*f(x)<0
x1=x;
else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end

% Ejecutando desde la ventana de comandos se tiene


>> biseccion('3*x^3+4*x^2-8*x-1',-0.5,0.5,0.005)

raiz =

-0.1191

2.- Dada la función f(x)=exp(x)-x2+3x-2

a) Determinar aproximadamente cuantas iteraciones del método de bisección son necesarias para
resolver f(x)=0 con una precisión de 10-3 para a=0 y b=1.

b) Hallar una primera aproximación a la raíz P que pertenece a [0:1] de la ecuación f(x)=0,
usando el método de bisección hasta que If(Pn)I<5.0x10-2

SOLUCION

Para la parte ‘a’

Se tiene la función
function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
iteracion=0;
while abs(f(x))>tol
x=(x0+x1)/2;
iteracion=iteracion+x^0
if f(x0)*f(x)<0
x1=x;

else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end
disp(iter)

% Ejecutando desde la ventana de comandos se tiene

>> biseccion('exp(x)-x^2+3*x-2',0,1,0.001)

raiz =

0.2573
iteración =

11

Para la parte ‘b’

Se tiene la función
function biseccion(def,x0,x1,tol)
f=inline(def);
if f(x0)*f(x1)<0
x=x0;
while abs(f(x))>tol
x=(x0+x1)/2;
if f(x0)*f(x)<0
x1=x;
else
x0=x;
end
end
raiz=x
else
raiz='no hay cambio de signo'
end

% Ejecutando desde la ventana de comandos se tiene

>> biseccion('exp(x)-x^2+3*x-2',0,1,0.05)

raiz =

0.2500

Potrebbero piacerti anche