Está en la página 1de 26

1

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

DEPARTAMENTO DE CIENCIAS EXACTAS

METODOS NUMERICOS

DEBER No. 2

NOMBRES:

TNTE. DE E. Jorge Luis Parra

Srta. Daniela Vera

DOCENTE: MGS. Ordóñez Fabián

FECHA: 21 de Noviembre del 2015

NRC: 1519
2

1 Conocida la funcion f (x) = 3x2 − 2x − 3, halle un intervalo [a,b] donde f(a)*f(b)


tenga signo negativo, realice como prueba de escritorio las tres primeras iteraciones
y encuentre mediante el metodo de Horner la raiz positiva mas cercana al origen:
Grafica de la funcion

\textbf{En el intervalo [1,2]:}\\

$f(x)=3x^2-2x-3=$ \\
$f(1)=3(1)^2-2(1)-3=-2 $ \\
$f(x)=3x^2-2x-3=$ \\
$f(2)=3(2)^2-2(2)-3=5 $ \\

$ f(a)*f(b)=-2*5=-10$\\

f(1)=-2 f(2)=5\\
3

$c=\frac{a+b}{2}=\frac{1+2}{2}=1.5$\\

f(c)=0.75 \\

f(a)*f(c)=(-2)(0.75) =-1.5 < 0 b=1.5\\

$c=\frac{a+b}{2}=\frac{1+1.5}{2}=1.25$\\

f(c)=-0.8125 \\

f(a)*f(c)=(-1.5)(-0.8125) =1.2187 > 0 a=1.25\\

$c=\frac{a+b}{2}=\frac{1.25+1.5}{2}=1.375$\\
f(c)=-0.0781 \\

f(a)*f(c)=(-0.0781)(-0.8125) =0.063 > 0 a=1.375\\


$c=\frac{a+b}{2}=\frac{1.375+1.5}{2}=1.435$\\
\begin{center}
La raiz es 1.435\\
\end{center}

f(-1)=2 f(0)=-3\\

$c=\frac{a+b}{2}=\frac{-1+0}{2}=-0.5$\\

f(c)=-1.25 \\

f(a)*f(c)=(2)(-1.25) =-2.5 < 0 b=-0.5\\

$c=\frac{a+b}{2}=\frac{-1-0.5}{2}=-0.75$\\

f(c)=0.1875 \\

f(a)*f(c)=(2)(0.1875) =0.375 > 0 a=-0.75\\

$c=\frac{a+b}{2}=\frac{-0.75+-0.5}{2}=-0.625$\\

f(c)=-0.578 \\

f(a)*f(c)=(0.187)(-0.578) =-0.108 < 0 b=-0.625\\

$c=\frac{a+b}{2}=\frac{-0.75-0.625}{2}=-0.687$\\

\begin{center}
La raiz es -0.687\\
\end{center}
4

2 Utilizando el metodo de la biseccion, determine en√[0, Π] la raiz mas cercana al


valor final del intervalo, para la funcion sen(x) = 1 − 3cos(x), considere una tole-
rancia de 10−6 :

Comandos utilizados en matlab:

%Programa para calcular raices de una funcion, por el metodo de


%biseccion conocido el intervalo, delta y la funcion
%Metodo Biseccion
%Tnte. Jorge Parra_Daniela Vera
function [iter tiempo raiz]=biseccion2(a,b,fx)
%[iter tiempo raiz]=biseccion2( 0 , pi , ’1-(sqrt(3)*cos(x))-sin(x)’ )
f=inline(fx);
if f(a)*f(b)>0
disp(’No hay raiz’)
return
end
tic
iter=0;
while abs (a-b)>10^(-6)
if f(a)*f(b)<0
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
x=linspace(a,b,100);
y1=f(x);
plot(x,y1)
grid on
end
5
6
7

1 π 3∗π
3 Grafique la funcion f (x) = , en el intervalo [ , ], analice y ejecute el
sen(x) 2 2
programa del de Horner, que ocurre?

Grafica de la funcion:

Una vez graficada la funcion se puede visualizar que es una grafica perteneciente a la funcion
trigonometrica secante

Comandos utilizados en matlab:

%Programa para calcular raices de una funcion, por el metodo de


%biseccion conocido el intervalo y la funcion
%Metodo Biseccion
%Tnte. Jorge Parra_Daniela Vera
function [iter tiempo raiz]=biseccion2(a,b,delta,fx)
[iter tiempo raiz]=biseccion2( pi/2 , 3*pi/2 , ’1/sin(x)’ )
f=inline(fx);
8

if f(a)*f(b)>0
disp(’No hay raiz’)
return
end
tic
iter=0;
while abs (a-b)>delta
if f(a)*f(b)<0
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
x=pi/2;0.1;3*pi/2;
y1=f(x);
plot(x,y1)
grid on
end

Analisis
Esta funcion trigonometrica por tener su dominio en los valores evaluados, haciendo que este
programa envie una respuesta no valida ya que se debe a que no existe un punto de corte que
puede ser verificado en la grafica realizada, ademas envia el valor de pi como resultado sin
embargo este es un dato erroneo.

4 Un objeto está situado en un plano cuya pendiente varı́a a una tasa constante
w. La posición del objeto, al instante t; está dada por la fórmula:
g
e(t,w) = ∗ [sinh(wt) − sin(wt)]
2w2
donde g = 9,8 m/s2 que es la aceleración de la gravedad. Cuando dicho objeto se
mueve 10 metros en 4 segundos, calcule el valor de w, usando el método de Horner,

con una tolerancia de eps, además determine cuantas iteraciones se requieren pa-
ra alcanzar la tolerancia indicada y el tiempo utilizado.
9

Reemplazando los datos dados en el problema tenemos:


9,8
10 = ∗ [sinh(4w) − sin(4w)]
2w2
10w2 = 4,9 ∗ [sinh(4w) − sin(4w)]
10w2 − 4,9sinh(4w) + 4,9sin(4w) = 0
f(w) = 10w2 − 4,9sinh(4w) + 4,9sin(4w)

Para realizar el programa en Matlab w=x; por lo tanto:

f(x) = 10x2 − 4,9sinh(4x) + 4,9sin(4x)

%PROGRAMA PARA CALCULAR LAS RAÍCES DE UNA FUNCIÓN, POR EL MÉTODO DE LA


%BISECCIÓN CONOCIDO EL INTERVALO, DELTA Y LA FUNCIÓN
function [iter tiempo raiz]=BISECCION(a,b,fx)
%[iter tiempo raiz]=BISECCION(0.05,4,4.9*(sinh(4*x))-4.9*(sin(4*x))-10*x^2)
f=inline(fx);
if f(a)*f(b)>0
disp(’NO HAY RAIZ’)
return
end
tic
iter=0;
while abs(a-b)>sqrt(eps)
if f(a)*f(b)<0
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
x=linspace(a,b,100);
y=f(x);
plot(x,y,’b’);
grid on
end

%CORRIDO DEL PROGRAMA PARA DETRMINAR LA RAIZ


>> syms x
>> [iter tiempo raiz]=BISECCION(0.05,4,4.9*(sinh(4*x))-4.9*(sin(4*x))-10*x^2)
10

b =

2.0250

b =

1.0375

b =

0.5437

b =

0.2969

b =

0.1734

b =

0.1117

a =

0.0809

b =

0.0963

a =

0.0886
11

a =

0.0924

a =

0.0944

a =

0.0953

b =

0.0958

a =

0.0956

b =

0.0957

a =

0.0956

a =

0.0957

b =

0.0957

b =
12

0.0957

a =

0.0957

b =

0.0957

b =

0.0957

a =

0.0957

a =

0.0957

a =

0.0957

b =

0.0957

b =

0.0957

a =
13

0.0957

raiz =

0.0957

iter =

28

tiempo =

0.0654

>>

5 Por el método de la secante, determine las raı́ces de la función:

y = 5x4 − 3x3 + x2 + 2x − 3

%PROGRAMA PARA OBTENER LAS RAICES DE UNA FUNCIÓN POR EL MÉTODO DE LA


%SECANTE
function [n tiempo raiz]=SECANTE(x0,x1,fx)
%[n tiempo raiz]=SECANTE(0,1,’5*x^4-3*x^3+x^2+2*x-3’)
%[n tiempo raiz]=SECANTE(0,-1,’5*x^4-3*x^3+x^2+2*x-3’)
14

x(1)=x0;
x(2)=x1;
f=inline(fx);
tic
n=1;
while abs(x(n+1)-x(n))>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

%CORRIDO DEL PROGRAMA PARA DETRMINAR LA RAIZ DEL PRIMER INTERVALO (POSITIVA)
>> syms x
>> [n tiempo raiz]=SECANTE(0,1,’5*x^4-3*x^3+x^2+2*x-3’)

n =

10

tiempo =

0.0267

raiz =

0.8293

>>

%CORRIDO DEL PROGRAMA PARA DETRMINAR LA RAIZ DEL SEGUNDO INTERVALO (NEGATIVA)
>> syms x
>> [n tiempo raiz]=SECANTE(0,-1,’5*x^4-3*x^3+x^2+2*x-3’)

n =

12

tiempo =

0.0253
15

raiz =

-0.8231

>>

6 Calcular por el método de Newton la raı́z de la función:

f(x) = x2 − e−x

%PROGRAMA PARA DETRMINAR LAS RAICES DE UNA ECUACIÓN POR EL MÉTODO DE


%NEWTON, CONOCIDA LA FUNCIÓN, SU DERIVADA Y EL PUNTO DE ORIGEN.
function [n tiempo raiz]=NEWTON(x0,fx,gx)
%[n tiempo raiz]=NEWTON(0,x^2-exp(1)^-x,2*x+exp(1)^-x)
f=inline(fx);
g=inline(gx);
tic
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
n=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;
x=linspace(-2,2,1000);
16

y=f(x);
plot(x,y,’b’);
grid on
end

%CORRIDO DEL PROGRAMA PARA DETRMINAR LA RAIZ


>> syms x
>> [n tiempo raiz]=NEWTON(0,x^2-exp(1)^-x,2*x+exp(1)^-x)

n =

tiempo =

0.0125

raiz =

0.7035

>>
17

7 Aplicar el método de Newton para calcular los cortes entre las funciones f (x) =
ex y g(x) = x2 − 1

f (x) = ex (1)
g(x) = x2 − 1
ex = x2 − 1
h(x) = e x − x2 + 1
h0 (x) = ex − 2x

>> syms x
>> NEWTON(-2,(exp(1)^x)-(x^2)+1,(exp(1)^x)-2*x)

iter =

raiz =

-1.1478

tiempo =

0.0045
18

ans =

8 En la función f (x) = x2 + x + 1, al aplicar los métodos de localización de raı́ces,


que sucede?

f (x) = x2 + x + 1 (2)
f 0 (x) = 2x + 1

>> syms x
>> BISEC(-2,3,x^(2)-x+1)
No hay raiz>>

>> syms x
>> NEWTON(-1,x^(2)-x+1,2*x-1)

iter =

>> syms x
>> SEC(-4,4,x^2+x+1)
19

iter =

Los programas no encuentra raı́ces debido a que la función no corta con el eje x,
es decir no tiene raı́ces

1
9 En la función g(x) = x 3 . Se puede aplicar el método de Newton para localizar
sus raı́ces?
Justifique su respuesta.

1
f (x) = x 3 (3)
−2
x 3
f 0 (x) =
3

syms x
>> NEWTON(-2,x^(1/3),(x^(-2/3)/3))

iter =

1
20

raiz =

NaN -3.7838e+294i

tiempo =

0.4370

El programa no puede encontrar la raı́z, debido a que la misma es 0 y no existe


derivada de esta en ese punto.
NaN, significa not a number o no es un número y se emplea para representar re-
sultados imposibles de de calcular

10 Un proyectil es lanzado con velocidad inicial Vo y un angulo α en un tunel r de


2gh
altura h. El proyectil llega a su alcance maximo cuando α es tal que sin(α) =
V o2
donde g es la aceleracion de la gravedad. Calcule α usando el metodo de Newton,
m
asumiendo que V o = 30 y h = 2,40m
s
Datos:

m
V o = 30
s
h = 2,4m

g = es la aceleracion de la gravedad

Entonces tenemos que:

r
2∗g∗h
sen α =
V o2

r
2 ∗ (9,81) ∗ (2,4)
sen α =
302

r
327
sen α =
6250

sen α = 0,228

f (α) = sen α − 0,228


21

sen α − 0,23 = 0

g(α) = cos α

Esta ecuacion sera la que ingresemos en Matlab para ver sus resultados.

%Programa que permite calcular las raices de una ecuacion


%Por el metodo de Newton, conocida la funcion, su derivada y
%el punto origen x0
function [n tiempo raiz] = NEWTON(x0,fx,gx)
%[n tiempo raiz]=NEWTON (-2,’sin(x)+3^.5.’x’,’cos(x)+3^.5’)
f = inline(fx);
g = inline (gx);
%format long;
tic
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
n=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
x=linspace(-1,5,1000);
%y=3^.5*sin
y=f(x);
plot(x,y,’b’);
grid o
end

Obteniendo como resultado:

NEWTON(1,(sin (x) - 0.228),cos (x))

raiz =

0.2300

tiempo =

0.0018
22

Figura 1: Grafico de la funcion sin (x)-0.228

ans =

11 Hallar mediante el metodo de Horner, Newton y de la Secante la primera raiz


de la ecuacion:

f (x) = x2 − π cos (x) + sin (x).

ademas determine en cada metodo el numero de iteraciones utilizadas, el tiem-


po, error absoluto y presente los valores en una tabla.
23

Figura 2: Grafico de la funcion f (x) = x2 − π cos (x) + sin (x)

METODO DE LA BISECCION

Programacion en Matlab:

%Programa para calcular raices de una funcion, por el metodo de


%biseccion conocido el intervalo, delta y la funcion
function [iter tiempo raiz]=biseccion(a,b,fx)
%reconoce funcion
f= inline(fx);
if f(a)*f(b)>0
disp(’No hay raiz’)
return
end
tic
iter=0;
while abs (a-b)>sqrt (eps)
if f(a)*f(b)<0
c=(a+b)/2;
else f(c)==0
x=c
return
end
if f(a)*f(c)<0
b=c
24

else
a=c
end
iter=iter+1
end
raiz=c
tiempo=toc
x=linspace(a,b,100);
y1= f(x);
plot(x,y1)
grid on
end

RESULTADO OBTENIDO:

iter =

26

raiz =

0.9720

tiempo =

0.0252

METODO DE LA NEWTON

Programacion en Matlab:

%Programa que permite calcular las raices de una ecuacion


%Por el metodo de Newton, conocida la funcion, su derivada y
%el punto origen x0
function [iter tiempo raiz] = NEWTON(x0,fx,gx)
f = inline(fx);
g = inline (gx);
tic
x(1)=x0;
x(2)=x(1)-f(x(1))/g(x(1));
n=1
iter=1
while abs(x(n+1)-x(n))> sqrt(eps)
n = n+1;
25

x(n+1)=x(n)-f(x(n))/g(x(n));
iter=iter+1;
end
raiz= x(n+1)
tiempo= toc
x=linspace(-1,5,1000);
y=f(x);
plot(x,y,’b’);
grid on
end

RESULTADO OBTENIDO:

iter =

raiz =

0.9720

tiempo =

0.0030

METODO DE LA SECANTE

Programacion en Matlab:

%Programa que permite calcular las raices de una ecuacion


%Por el metodo de la secante, conocida la funcion, y
%el punto origen x0
function [iter tiempo raiz] = secante(x0,x1,fx)
x(1) = x0;
x(2) = x1;
f= inline (fx);
tic
n=1;
iter=1
while abs(x(n+1)-x(n))>eps
n=n+1;
x(n+1)=x(n)-f(x(n))*(x(n)-x(n-1))/(f(x(n))-f(x(n-1)));
iter=iter+1;
end
26

raiz= x(n+1)
tiempo= toc
x=linspace(x0,x1,100);
y=f(x);
plot(x,y,’b’);
grid on
end

RESULTADO OBTENIDO:

iter =

raiz =

0.9720

tiempo =

0.0043

VALOR REAL: 0,971991

TABLA RESUMEN

Metodo Raiz tiempo Iteracciones Error


HORNER 0.9720 0.0252 26 9 ∗ 10− 6
NEWTON 0.9720 0.0030 1 9 ∗ 10− 6
SECANTE 0.9720 0.0048 1 9 ∗ 10− 6
(a) arctan(x)

Cuadro 1: Resumen

También podría gustarte