Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prueba de escritorio
Intervalo [3; 5] c1 =
1
3+5
=4
2
Intervalo [4; 5]
4+5
= 4,5
c2 =
2
2
f (4,5) = (4,5) + (4,5) 23 = 1,75
f (4) = (4)2 + (4) 23 = 3
f (4) f (4,5) = 5,25
if((f(a)*f(c))<0)
b=c;
else
a=c;
end
iter=iter+1;
end
raiz=c;
end
Ejecuci
on del programa
>> [raiz] = ejer1biseccion(3,5,x.^2+x-23,sqrt(eps))
2
raiz =
4.3218
3. Utilizando el metodo de la biseccion para f (x) =
1
, determine la raz al analizar en el
x1
Prueba de escritorio
Intervalo [3; 5]
1
= 0,5
f (3) = 31
1
f (5) = 51 = 0,25
f (3) f (5) = 0,125
No existe raz debido a que no hay cambio de signo en el intervalo como lo podemos apreciar
en la grafica
Intervalo [0; 4]
1
= 1
f (0) = 01
1
f (4) = 41 = 0,333
f (0) f (4) = 0,333
El cambio de signo se debe a una asntota en x=1, pero no existe raz en este intervalo y se
puede comprobar mediante la grafica
C
odigo del programa
function [ raiz ] = ejer3(a,b,fx,delta)
f=inline(fx);
if((f(a)*f(b))>0)
display (No hay raices)
return
end
while abs(a-b)>delta
if((f(a)*f(b))<0)
c=(a+b)/2;
else f(c)==0
3
x=c;
return
end
if((f(a)*f(c))<0)
b=c;
else
a=c;
end
end
raiz=c;
end
Ejecuci
on del programa
>> [ raiz ] = ejer3(3,5,(1/(x-1)),sqrt(eps))
No hay raices
5. Por el metodo de la secante, determine las races de la funcion y = x3 5x2 + 3x + 2
Como podemos observar en la grafica utilizaremos los intervalos: [-2;0] y [3;5] que son los
intervalos donde se encuentran las races.
C
odigo del programa
function [raiz ] = ejer4(x0,x1,fx)
x(1)=x0;
x(2)=x1;
f=inline(fx);
n=1;
while abs(x(n+1)-x(n))>=sqrt(eps)
n = n+1;
x(n+1)=x(n)-f(x(n))*(x(n)-x(n-1))/(f(x(n))-f(x(n-1)));
end
raiz=x(n+1);
end
Ejecuci
on del programa
4
Con ayuda de la grafica sabemos que la raiz se encuentra entre el intervalo [0;2] el cual
usaremos.
M
etodo de Bisecci
on
C
odigo del programa
function [tiempo iter raiz] = ejer7biseccion(a,b,fx,delta)
%[tiempo iter raiz] = ejer7biseccion(0,2,(x.^2)-pi*cos(x),sqrt(eps))
f=inline(fx);
if((f(a)*f(b))>0)
display (No hay raices)
return
end
tic
iter=0;
while abs(a-b)>delta
if((f(a)*f(b))<0)
5
c=(a+b)/2;
else f(c)==0
x=c;
return
end
if((f(a)*f(c))<0)
b=c;
else
a=c;
end
iter=iter+1;
end
raiz=c;
tiempo=toc;
end
Ejecuci
on del programa
>> [tiempo iter raiz] = ejer7biseccion(0,2,(x.^2)-pi*cos(x),sqrt(eps))
tiempo =
0.037689609047867
iter =
27
raiz =
1.142395988106728
M
etodo de Newton
C
odigo del programa
function [ n tiempo raiz ] = ejer7newton(x0,fx,gx)
%[ n tiempo raiz ] = ejer7newton(1,(x.^2)-pi*cos(x),2*x+pi*sin(x))
f=inline(fx);
g=inline(gx);
tic
n=1;
if(gx==0)
display (No hay raices)
6
return
end
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
while abs(x(n+1)-x(n))>sqrt(eps)
n=n+1;
x(n+1)=x(n)-f(x(n))/g(x(n));
end
raiz=x(n+1);
tiempo=toc;
end
Ejecuci
on del programa
>> [ n tiempo raiz ] = ejer7newton(1,(x.^2)-pi*cos(x),2*x+pi*sin(x))
n =
4
tiempo =
0.004256582008265
raiz =
1.142395986171875
M
etodo de la Secante
C
odigo del programa
function [n,tiempo,raiz ] = ejer7Secante(x0,x1,fx)
%[ n,tiempo,raiz ] = ejer7Secante(1,2,(x.^2)-pi*cos(x))
x(1)=x0;
x(2)=x1;
f=inline(fx);
tic
n=1;
while abs(x(n+1)-x(n))>=sqrt(eps)
n = n+1;
x(n+1)=x(n)-f(x(n))*(x(n)-x(n-1))/(f(x(n))-f(x(n-1)));
end
raiz=x(n+1);
tiempo=toc;
end
7
Ejecuci
on del programa
>> [ n,tiempo,raiz ] = ejer7Secante(1,2,(x.^2)-pi*cos(x))
n =
7
tiempo =
0.010088963162648
raiz =
1.142395986171875
Tabla comparativa
Para el error absoluto se trabajo con 10 decimales y con un valor real de raiz=1.1423959862
M
etodo
Raiz
Biseccion 1.1423959881
Newton 1.1423959862
Secante 1.1423959862
Tiempo (s)
0.03769
0.00426
0.01009
Iteraciones
27
4
7
Error absoluto
1,9x109
0
0
9. Aplicar el metodo de Newton para calcular los cortes entre las funciones f (x) = ex y
g (x) = x + 2
Para encontrar donde se cortan las dos funciones se igualas f (x) = g (x) = 0 obteniendo h (x)
f (x) = ex
;
g (x) = x + 2
f (x) = g (x)
ex = x + 2
0 = ex x 2
h (x) = ex x 2
8
C
odigo del programa
function [ raiz ] = ejer9newton(x0,hx,jx)
%[ raiz ] = ejer9newton(0,exp(-x)-x-2,-exp(-x)-1)
f=inline(hx);
g=inline(jx);
n=1;
if(jx==0)
display (No hay raices)
return
end
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
while abs(x(n+1)-x(n))>sqrt(eps)
n=n+1;
x(n+1)=x(n)-f(x(n))/g(x(n));
end
raiz=x(n+1);
end
Ejecuci
on del programa
>> [ raiz ] = ejer9newton(0,exp(-x)-x-2,-exp(-x)-1)
raiz =
-0.4429
1
11. En la funcion f (x) = x 3 . Se puede aplicar el metodo de Newton para localizar sus races?
Justifique su respuesta
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
while abs(x(n+1)-x(n))>sqrt(eps)
n=n+1;
x(n+1)=x(n)-f(x(n))/g(x(n));
end
raiz=x(n+1);
end
Ejecuci
on del programa
>> [ raiz ] = ejer11newton(1,x.^(1/3),(1/3)*x.^(-2/3))
raiz =
NaN -3.7838e+294i
10