Está en la página 1de 9

Instituto de Estudios superiores

“Rosario Castellanos”

Modalidad a distancia

Licenciatura en tecnologías de la información y comunicación

Métodos Numéricos

Ciclo escolar 2022-2

LAIT205B2_O_22-2

Actividad Integradora

Programa para resolver


una ecuación de tercer
grado mediante el
método de Newton-
Raphson

Profesor: Luis Felipe Camargo Guerrero


Nombre del Alumno: Alfredo Misael Zermeño Vigueras
Propósito
Aplicar los conceptos analizados dentro de la asignatura a fin de realizar el programa
de uno de los métodos estudiados.
Una ecuación de tercer grado es del tipo:

El Método de Newton-Raphson recordaras tiene la siguiente forma y es iterativo:

En donde

es la derivada de

Realizar el Programa para resolver por medio de newthon-rapshon.


Ecuación:     En forma de cadena (string) de la siguiente forma:

 En donde a, b, c, d son valores enteros y sólo considera sumas.


 Para representar la ecuación:

 La cadena por ingresar en el programa es

Valor inicial de tipo entero. “X”


Número de iteraciones que realizará el programa. “N”
Los parámetros de salida son:
  Valor final de X al término de las N iteraciones del programa. “X”

Es el valor de la ecuación al sustituir el valor de X. “FX”

Introducción
El método de Newton-Raphson es un algoritmo de análisis numérico que sirve
para encontrar aproximaciones de los ceros o raíces en una función lineal es decir
que este método encuentra el máximo o mínimo de una función dentro de una
derivada.

Este tipo de método es abierto se contempla que su convergencia global es decir


que las magnitudes son aproximadas al resultado se selecciona un valor inicial
cercano a la raíz buscando la iteración de un valor razonable cercano al cero
donde esta indica la aproximación al valor buscado.

Desarrollo

Ecuación Realizado Mediante formula de Excel


𝑓(𝑥)=3(𝑥∧3)+5(𝑥∧2)^+ (𝑥∧1)+45

i= 0
x= 1
E= 0.001

Iteracion Xi f(Xi) f´(Xi) |Ea|


0 1 52 -37 NA
1 2.405405405405 151.0907350009 74.38495252 1.405405405 CONTINUAR
2 0.374205144034 17.59177868605 47.29111419 2.031200261 CONTINUAR
3 0.002216050787 0.099746850701 45.01109499 0.371989093 CONTINUAR
4 4.83559083E-10 2.17601587E-08 45 0.00221605 FIN
Mediante el programa realizado en c++ la iteración es mucho mayor ya que
analiza una gran cantidad de información

Ecuación Realizado Mediante formula de Excel es más rápida ya que la


formulación es mucho más directa.

i= 0
x= 6
E= 0.01
Iteracion Xi f(Xi) f´(Xi) |Ea|
0 6 293 246 NA
1 4.80894309 181.507881 93.4225164 1.19105691 CONTINUAR
2 2.86607226 54.3020804 38.973472 1.94287083 CONTINUAR
3 1.47276349 14.8963536 13.8709144 1.39330877 CONTINUAR
4 0.39883619 2.37576455 2.47139186 1.0739273 CONTINUAR
5 -0.5624701 -2.3575554 -1.8632327 0.96130629 CONTINUAR
6 -1.8277739 -8.5635041 0.88340299 1.26530383 CONTINUAR
7 7.86599468 649.777269 224.95159 9.69376861 CONTINUAR
8 4.97747423 197.756038 99.2131204 2.88852045 CONTINUAR
9 2.98422942 59.3088263 41.6380227 1.99324482 CONTINUAR
10 1.55983838 16.4606197 15.0984793 1.42439103 CONTINUAR
11 0.46962132 2.89276724 3.00973918 1.09021706 CONTINUAR
12 -0.4915142 -2.0931416 -1.7328124 0.96113552 CONTINUAR
Ecuación Realizado Mediante formula de Excel

Ecuacion 6𝑥^3+3𝑥^2+7𝑥+𝑞

i= 0
x= 6
E= 0.01
Iteracion Xi f(Xi) f´(Xi) |Ea|
0 6 1125 234 NA
1 1.192307692 52.730751 3.59113905 14.6835726 CONTINUAR
-13.49 #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
Ecuación Realizado Mediante formula de Excel

Ecuacion 𝑥^3+9

i= 0
x= 5
E= 0.001
Iteracion Xi f(Xi) f´(Xi) |Ea|
0 5 759 170 NA
1 0.53529412 44.1549889 1.60616889 27.4908754 CONTINUAR
-26.96 #VALUE! #VALUE! #VALUE! #VALUE!

Se realiza programa en c++ para realizar la iteración correspondiente y se realiza


una comparación con formula de Newton- Raphson de forma directa.
Pseucodigo

#include <cmath>
#include <iostream>

using namespace std;

float resolverEcuacion(float valor) {


// Con la ecuación:
return pow;
}

float resolverDerivada(float valor) {


// Con la ecuación:
return pow
}

int main() {
int iterador = 0;
float xi = 1;
float xi_xi = 52;
float ultimo_xi = -37;
printf("Método de Newton\n");
printf("Problema: \n");
printf("Derivado: \n\n\n");
printf("+----+-------------+-------------+-------------+-------------+-------"
"-----+\n");
printf("+ i | xi | f(xi) | f'(xi) | xi + 1 | "
"xi_xi |\n");
printf("+----+-------------+-------------+-------------+-------------+-------"
"-----+\n");
while (1) {
float fxi = resolverEcuacion(xi);
float _fxi = resolverDerivada(xi);
float xi_1 = xi - (fxi / _fxi);
printf("|%3d |%12.8f |%12.8f |%12.8f |%12.8f |%12.8f|\n", iterador, xi, fxi,
_fxi, xi_1, xi_xi);
iterador++;
ultimo_xi = xi;
xi = xi_1;
xi_xi = abs(xi - ultimo_xi);
if (xi_xi == 0.001) {
printf("+----+-------------+-------------+-------------+-------------+---"
"---------+\n");
break;
}
}
}
Cita de Apoyo

Analís numéricos, UNAH (https://www.youtube.com/watch?v=aBogU_dBqro)

Método de Newton Raphson, Algoritmos y Algo más


(https://www.youtube.com/watch?v=-wK_88e-fUA)

Método de Newton Raphson usando Excel, IQ AB


(https://www.youtube.com/watch?v=fN4xED20LdU)

También podría gustarte