Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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%.
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
raiz =
-1.8438
%Para la función 'b' se tiene
% 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
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
>> biseccion('2*exp(-x)-sin(x)',0,1,0.005)
raiz =
0.9219
% Para la función 'd' se tiene
% 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
raiz =
-0.1191
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
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)
>> biseccion('exp(x)-x^2+3*x-2',0,1,0.001)
raiz =
0.2573
iteración =
11
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
>> biseccion('exp(x)-x^2+3*x-2',0,1,0.05)
raiz =
0.2500