Está en la página 1de 11

UNIVERSIDAD DE SONORA

DIVISIÓN DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA MECATRÓNICA

04647 ANALISIS NUMERICO Y PROGRAMACION


DE: 12:00 A 13:00 HRS
AULA: 5J - CO201

ASIGNACION NO. 7
PRACTICA EN MATHLAB
“Raíces de ecuaciones no lineales ”

GRUPO 1
PROFESOR: JOSÉ CARLOS MERCADO CHAN
ALUMNO: LUIS ALBERTO ROBLES FAVA
EXPEDIENTE: 219220454

HERMOSILLO, SONORA 9 abril 2022


INDICE
1. Utilizando Octave/Matlab crear una función para calcular el error absoluto, el error relativo
(fraccional), y el error relativo porcentual para los siguientes casos ................................................... 3
Problema 1 A. 𝑥 = 2.71828182, 𝒙 = 2.7182 .................................................................................................... 3
Código .......................................................................................................................................................... 3
Resultados .................................................................................................................................................... 3
Problema 1 B. 𝑦 = 98350, 𝒚= 98000 .............................................................................................................. 3
Código .......................................................................................................................................................... 3
Resultados .................................................................................................................................................... 4
Problema 1 C. 𝑧 = 0.000068, 𝒛= 0.00006 ........................................................................................................ 4
Código .......................................................................................................................................................... 4
Resultados .................................................................................................................................................... 5
1. Encontrar la raíz aproximada para la función f(x) utilizando los métodos de
Bisección, Falsa posición modificado, Newton-Raphson, y Secante.
Función

Derivada de la función

Código usado
warning off; %desactivamos los warning

f = @(x) -0.5*x^2+2.5*x+4.5; % función f(X)


df = @(x) 5/2 - x; % derivada de f(x)

% Método gráfico
figure; hold on; grid;
fplot(f,[-5 10]);
title("Grafica de la función - Ejercicio 1");

% Métodos cerrados y abiertos


[rB,errB,iB,yB]=bisect(f,5,10,0.0005);
[rR,errR,iR,yR]=regulaMod(f,5,10,0.0005,0.00000005,30);
[rN,errN,kN,yN]=newton(f,df,5,0.0005,0.00000005,30);
[rS,errS,kS,yS]=secant(f,5,10,0.0005,0.00000005,30);

% Gráfica de los errores (Convergencia de los métodos)


figure; hold on; grid;
plot(errB); plot(errR); plot(errN);plot(errS);
title("Grafica del error relativo - Ejercicio 1");
legend("Biseccion","Falsa Posicion Modificado","Newton-
Raphson","Secante");

Resultado
\nMétodo de Bisección
1, xl: 5, xu: 7.5, xr: 7.5, error: 92.5
2, xl: 6.25, xu: 7.5, xr: 6.25, error: 16.6667
3, xl: 6.25, xu: 6.875, xr: 6.875, error: 10
4, xl: 6.25, xu: 6.5625, xr: 6.5625, error: 4.5455
5, xl: 6.25, xu: 6.4063, xr: 6.4063, error: 2.381
6, xl: 6.3281, xu: 6.4063, xr: 6.3281, error: 1.2195
7, xl: 6.3672, xu: 6.4063, xr: 6.3672, error: 0.61728
8, xl: 6.3867, xu: 6.4063, xr: 6.3867, error: 0.30675
9, xl: 6.3965, xu: 6.4063, xr: 6.3965, error: 0.15291
10, xl: 6.4014, xu: 6.4063, xr: 6.4014, error: 0.076336
11, xl: 6.4038, xu: 6.4063, xr: 6.4038, error: 0.038139
12, xl: 6.405, xu: 6.4063, xr: 6.405, error: 0.019062
13, xl: 6.405, xu: 6.4056, xr: 6.4056, error: 0.0095293
14, xl: 6.405, xu: 6.4053, xr: 6.4053, error: 0.0047642
15, xl: 6.405, xu: 6.4052, xr: 6.4052, error: 0.0023822
16, xl: 6.4051, xu: 6.4052, xr: 6.4051, error: 0.0011911
17, xl: 6.4051, xu: 6.4051, xr: 6.4051, error: 0.00059557
18, xl: 6.4051, xu: 6.4051, xr: 6.4051, error: 0.00029778
\nMétodo de Falsa Posición Modificado
1, xl: 5.9, xu: 10, xr: 5.9, error: 94.1
2, xl: 6.2385, xu: 10, xr: 6.2385, error: 5.7378
3, xl: 6.2385, xu: 6.4585, xr: 6.4585, error: 3.5262
4, xl: 6.404, xu: 6.4585, xr: 6.404, error: 0.84455
5, xl: 6.4051, xu: 6.4585, xr: 6.4051, error: 0.017922
6, xl: 6.4051, xu: 6.4051, xr: 6.4051, error: 0.00024332
\nMétodo de newton-Raphson
1, x0: 6.8, error: 26.4706
2, x0: 6.4233, error: 5.8653
3, x0: 6.4052, error: 0.28241
4, x0: 6.4051, error: 0.00065409
\nMétodo de Secante
1, x0: 5.9, error: 69.4915
2, x0: 6.2385, error: 5.4265
3, x0: 6.4169, error: 2.7799
4, x0: 6.4049, error: 0.18806
5, x0: 6.4051, error: 0.003999
6, x0: 6.4051, error: 6.0361e-06

Tabla comparativa de métodos:

Método: Nun. Interacciones Raíz aproximada Error relativo


Bisección 18 6.4051 0.00029778
Falsa posición 6 6.4051 0.00024332
modificado
Newton-Raphson 4 6.4051 0.00065409
Secante 6 6.4051 6.0361e-06

En este caso el método que encontró mejor resultado sería el método de Newton-Raphson esto debido a que
en 4 interacciones tuvo un error de “0.00065409” mientras que el método de Secante apenas en 6
integraciones obtuvo un error de “6.0361e-06” cuando en sus 4 interacciones tenía un error de “0.18806”, y es
por esto que considero que el método de Newton-Raphson en el mejor para este caso.
Graficas
En este caso la fusión es una parábola invertida y
por ende tiene dos puntos de interés o dos raíces
las cuales se cuentan entre los intervalos -2,0 y
5,7

Podemos ver en las graficas de los errores que el


método Newton-Raphson es el que incia desde un
valor en Y menos y es el mas rápido en converger
hacia cero lo que refuerza que este es el mejor
método para este problema.

Análisis
¿Es posible seleccionar otros puntos iniciales (solo con números
enteros) que ayuden a que la solución converja más rápido?
Si, podemos hacer el análisis en los puntos iniciales de 5 a 7:
Con los nuevos puntos iniciales hubo barios cambios entre los cuales, el método de Bisección redujo sus
interacciones de 18 a 16, el de falsa posición los redujo de 6 a 5 al igual que el método de secante. El método
de Newton-Raphson se mantuvo igual. Por otro lado, la gráfica de error convergió más rápido en especial el
método de secante el cual ahora es el mas optimo de los cuatro, ya que su error es menor, sus aproximación
inicial es la más cercana y es el que converge más rápido en la grafica de error.

De manera visual detecte si existen más raíces en el intervalo [-5 10], en caso de
existir más raíces vuelva a realizar el ejercicio 1 seleccionando como puntos
iniciales los números enteros que ayuden a lograr una
convergencia lo más rápida posible para localizar la siguiente raíz de la
función.
Como se vio en la gráfica de la función, contamos con dos raíces, la primera de izquierda a derecha se
encuentra entre el intervalos -2,0 y la segunda que ya analizamos entre 5, 7.
Utilice la función roots(p),vista en el tema de raíces de polinomios, para
obtener las raíces de la función del ejercicio 1, declarando la función como
un vector del polinomio, y compare las raíces con la raíz aproximada del
ejercicio 1 y las raíces del ejercicio 1.5 b)

Ejercicio 2 --Encontrar la raíz aproximada para la función f(x) utilizando


los métodos de Bisección, Falsa posición modificado, Newton-Raphson, y
Secante.

Función

Derivada de la función

Código usado
warning off; %desactivamos los warning

f =@(x) x*sin(x) - x; % función f(X)


df = @(x) sin(x) + x*cos(x) - 1;

% Método gráfico
figure; hold on; grid;
fplot(f,[-1 2.5]);
title("Grafica de la función - Ejercicio 2");

% Métodos cerrados y abiertos


[rB,errB,iB,yB]=bisect(f,0,2,0.0005);
[rR,errR,iR,yR]=regulaMod(f,0,2,0.0005,0.00000005,30);
[rN,errN,kN,yN]=newton(f,df,0,0.0005,0.00000005,30);
[rS,errS,kS,yS]=secant(f,0,2,0.0005,0.00000005,30);

% Gráfica de los errores (Convergencia de los métodos)


figure; hold on; grid;
plot(errB); plot(errR); plot(errN);plot(errS);
title("Grafica del error relativo - Ejemplo 2");
legend("Biseccion","Falsa Posicion Modificado","Newton-
Raphson","Secante");

Resultado
Por la naturaleza del problema tenemos una gran cantidad de interacciones

Tabla comparativa de métodos:

Método: Nun. Interacciones Raíz aproximada Error relativo


Bisección 557 6.4051 0.00029778
Falsa posición error error error
modificado
Newton-Raphson 1 indeterminado NaN
Secante 1 Indeterminado infinito
En este caso no se pudo encontrar una respuesta concisa, ya que se encuentran dos raíces en el mismos
intervalo, esto lo veremos en la gráfica a continuación.
Graficas
En este caso la fusión es una función
trigonométrica seno la cual cruza el eje de las x
dos veces en el mismo intervalo, adema de que
en uno de estos cruces se encuentra en el origen
lo que dificultara las operaciones.

Podemos ver en las gráficas de los errores que el


método de bisecciones es el único que se muestra
además de que este tarda mucho en llegar a una
convergencia.

Análisis
En el ejercicio 2, con el método de Newton-Raphson, ¿se puede encontrar una raíz con el
punto inicial 0, o con el punto inicial 2? ¿por qué pasa esto?

No se puedo debido a la naturaleza de la derivada de la función.


Si no se pudo encontrar la raíz con el método de Newton-Raphson
proponga un punto inicial nuevo que permita encontrar la raíz con el
método de Newton-Raphson. Y realice de nuevo los pasos del ejercicio
2, modificando uno de los puntos iniciales, para los demás métodos,
por el nuevo punto inicial seleccionado.

No pude encontrar un valor, mi computadora colapso después de cambiar los valores de -1 a 1 o de 1 a 2, ya


que el numero de interacciones erra muy alto.

También podría gustarte