Está en la página 1de 8

MÉTODOS NUMÉRICOS

RESOLUCIÓN DE ECUACIONES ALGEBRÁICAS NO LINEALES CON MATLAB


ENCONTRAR LA RAIZ CON FZERO(@f,X0)
Encuentre una aproximación a una raíz real de la ecuación:

( )

con un error de 10-3 y utilizando como valor inicial x0 = 0.

SOLUCIÓN:

1. Copie el archivo f.m a una carpeta dentro de MATLAB.


2. Escriba en el workspace:

>> fzero(@f,0) %0 es el valor inicial x0.


ans =
-0.9590

PUNTO FIJO
Encuentre la raíz real positiva de f(x) = ln(x) – x + 2 = 0, usando el método del punto fijo, con tolerancias
o errores menores a 10-4, 10-5 y 10-6 para la variable x, con un punto inicial x0 = 3.5.

SOLUCIÓN:

1. Despejando x, se tiene: x= ln(x) + 2, donde g(x) = ln(x) + 2 y g’(x) = 1/x.


2. Copie el archivo ecua_PuntoFijo.m a una carpeta creada en MATLAB y ábralo para escribir la función
g(x) y su derivada g’(x). Grábelo y cierre dicho archivo m.
3. Copie a la misma carpeta el archivo PuntoFijo.m.
4. Escriba en el workspace lo siguiente:

>> PuntoFijo(100)
Arch. Ecuación = ecua_PuntoFijo
Error = 0.0001
Valor inicial xo = 3.5

Se obtiene el siguiente resultado:

METODO DE PUNTO FIJO


Arch. Ecuación = ecua_PuntoFijo
Error = 0.0001
Valor inicial xo = 3.5

Luis Cabezas Tito Métodos Numéricos Página 1


-------------------------------------------------
ite. Xn Xn+1 distancia
-------------------------------------------------
0 3.5000000
1 3.5000000 3.2527630 0.2472370
2 3.2527630 3.1795048 0.0732582
3 3.1795048 3.1567255 0.0227793
4 3.1567255 3.1495352 0.0071902
5 3.1495352 3.1472549 0.0022803
6 3.1472549 3.1465306 0.0007243
7 3.1465306 3.1463005 0.0002302
8 3.1463005 3.1462273 0.0000731
-------------------------------------------------
La raíz es = 3.146227303
ans =
3.1462

También se puede escribir:

>> Sol=PuntoFijo(100,'ecua_PuntoFijo',0.0001,3.5)
Sol =
3.1462

Si se quiere saber la cantidad de iteraciones realizadas, entonces se escribe:

>> [Sol,ite]=PuntoFijo(100,'ecua_PuntoFijo',0.0001,3.5)
Sol =
3.1462
ite =
8

En forma general, la fórmula es la siguiente: [Sol,ite]=PuntoFijo(MaxIte,'Nombre_Archivo',error,xo)

Cuando no se cumple el criterio de convergencia, entonces se tiene (x0 = 1):

>> PuntoFijo(100,'ecua_PuntoFijo',0.0001,1)

xo No cumple con el criterio de convergencia |g(x)|<1

MÉTODO DE NEWTON - RAPHSON


1. Copie a una carpeta de MATLAB los archivos NewtonRaphson.m y Newton_Raphson.m
2. En el workspace escribir lo siguiente:

>> Newton_Raphson(100);

NOTA: lo que está pintado de color rojo tiene que introducir cuando se ejecute el anterior programa.

Luis Cabezas Tito Métodos Numéricos Página 2


METODO DE NEWTON RAPHSON
Archivo de la Ecuación = NewtonRaphson
Error = 0.0001
Valor de Inicio Xo = 3.5
------------------------------------------------
ite. Xn Xn+1 f(Xn+1)
------------------------------------------------
0 3.50000
1 3.50000 3.15387 -0.005238
2 3.15387 3.14620 -0.000003
------------------------------------------------
La raíz es = 3.14620

Otra forma de calcular la raíz de manera directa es:

>> sol=Newton_Raphson(100,'NewtonRaphson',0.0001,3.5)
sol =
3.1462

MÉTODO DE LA SECANTE
1. Copie a una carpeta de MATLAB los archivos Secante.m y MetodoSecante.m
2. En el workspace escribir lo siguiente:

>> MetodoSecante(100);

METODO DE LA SECANTE
Arch. Ecuación = Secante
Error = 0.0001
Valor de Xo = 3
Valor de X1 = 3.5
----------------------------------------------------------
ite. Xn Xn+1 Xn+2 f(Xn+2)
----------------------------------------------------------
0 3.00000 3.50000
1 3.00000 3.50000 3.14257 2.00000
2 3.50000 3.14257 3.14611 0.00247
----------------------------------------------------------
La raiz es = 3.14611

Otra forma de calcular la raíz de manera directa es:

>> sol=MetodoSecante(100,'Secante',0.0001,3,3.5)
sol =
3.1461

Luis Cabezas Tito Métodos Numéricos Página 3


MÉTODO DE LA FALSA POSICIÓN O REGULA-FALSI
1. Copie a una carpeta de MATLAB los archivos FalsaPosicion.m y Falsa_Posicion.m
2. En el workspace escribir lo siguiente:

>> Falsa_Posicion(100);

METODO DE LA FALSA POSICION


Arch. Ecuación = FalsaPosicion
Error = 0.0001
Valor de xi = 3
Valor de xd = 3.5
----------------------------------------------------------
ite. Xi Xd Xm f(Xm)
----------------------------------------------------------
0 3.00000 3.50000
1 3.00000 3.50000 3.14257 0.00247
2 3.00000 3.14257 3.14623 -0.00003
----------------------------------------------------------
La raiz es = 3.14623

Otra forma de calcular la raíz de manera directa es:

>> sol=Falsa_Posicion(100,'FalsaPosicion',0.0001,3,3.5)
sol =
3.1462

MÉTODO DE LA BISECCION
1. Copie a una carpeta de MATLAB los archivos Biseccion.m y MetodoBiseccion.m
2. Encuentre una raíz para y = f(x) = x3 + 2x2 + 10x – 20, Error = 0.001; xi = 1; xD = 2.
3. En el workspace escribir lo siguiente:

>> MetodoBiseccion(100);

METODO DE LA BISECCION
Arch. Ecuación = Biseccion
Error = 0.001
Valor de xi = 1
Valor de xd = 2
----------------------------------------------------------
ite. Xi Xd Xm f(Xm)
----------------------------------------------------------
0 1.00000 2.00000
1 1.00000 2.00000 1.50000 2.87500
2 1.00000 1.50000 1.25000 -2.42188
3 1.25000 1.50000 1.37500 0.13086
4 1.25000 1.37500 1.31250 -1.16870

Luis Cabezas Tito Métodos Numéricos Página 4


5 1.31250 1.37500 1.34375 -0.52481
6 1.34375 1.37500 1.35938 -0.19846
7 1.35938 1.37500 1.36719 -0.03417
8 1.36719 1.37500 1.37109 0.04825
9 1.36719 1.37109 1.36914 0.00702
10 1.36719 1.36914 1.36816 -0.01358
11 1.36816 1.36914 1.36865 -0.00329
12 1.36865 1.36914 1.36890 0.00186
13 1.36865 1.36890 1.36877 -0.00071
----------------------------------------------------------
La raíz es = 1.36877

Otra forma de calcular la raíz de manera directa es:

>> sol=MetodoBiseccion(100,'Biseccion',0.001,1,2)
sol =
1.3688

MÉTODOS ACELERADOS

MÉTODO DE STEFFENSEN - AITKEN


( )

1. Copie a una carpeta de MATLAB los archivos Steffensen.m y MetodoSteffensen.m


2. Encuentre una raíz para y = f(x) = x3 + 2x2 + 10x – 20, Error = 0.001; x0 = 1.
3. En el workspace escribir lo siguiente:

>> MetodoSteffensen(100);

METODO DE STEFFENSEN
Arch. Ecuación = Steffensen
Error = 0.001
Valor de Inicial Xo = 1
----------------------------------------------------------
ite. Xn Xn+1 d=(Xn+1-Xn)
----------------------------------------------------------
0 1.00000
1 1.00000 -11.00000 12.000000
2 -11.00000 -779.00000 768.000000
3 -779.00000 1.19048 780.190476
4 1.19048 -7.65522 8.845697
5 -7.65522 -198.56799 190.912769
6 -198.56799 1.62024 200.188233
7 1.62024 2.24010 0.619860
8 2.24010 23.05159 20.811488
9 23.05159 1.60121 21.450378

Luis Cabezas Tito Métodos Numéricos Página 5


10 1.60121 1.72840 0.127186
11 1.72840 5.28538 3.556982
12 5.28538 1.59650 3.688884
13 1.59650 1.60267 0.006175
14 1.60267 1.76737 0.164699
15 1.76737 1.59626 0.171115
16 1.59626 1.59627 0.000015
17 1.59627 1.59667 0.000402
18 1.59667 1.59626 0.000418
----------------------------------------------------------
La raiz es = 1.59626

Otra forma de calcular la raíz de manera directa es:

>> sol=MetodoSteffensen(100,'Steffensen',0.001,1)
sol =
1.5963

MÉTODO DE NEWTON – RAPHSON DE SEGUNDO ORDEN


1. Copie a una carpeta de MATLAB los archivos NewtonRaphsonSegundoOrden.m y
NewtonRaphson_SegundoOrden.m
2. Encuentre una raíz para y = f(x) = x3 + 2x2 + 10x – 20, Error = 0.001; x0 = 1.
3. En el workspace escribir lo siguiente:

>> NewtonRaphson_SegundoOrden(100);

METODO DE NEWTON RAPHSON 2do ORDEN


Arch. Ecuación = NewtonRaphsonSegundoOrden
Error = 0.001
Valor de Inicio Xo = 1
-------------------------------------------------
ite. Xn Xn+1 f(Xn+1)
-------------------------------------------------
0 1.00000
1 1.00000 1.36728 -0.032140
2 1.36728 1.36917 0.007708
3 1.36917 1.36881 -0.000008
-------------------------------------------------
La raiz es = 1.36881

Otra forma de calcular la raíz de manera directa es:

>> sol=NewtonRaphson_SegundoOrden(100,'NewtonRaphsonSegundoOrden',0.001,1)
sol =
1.3688

Luis Cabezas Tito Métodos Numéricos Página 6


MÉTODO PARA POLINOMIOS

MÉTODO DE NEWTON – HORNER


1. Antes de todo, realice una representación gráfica de la ecuación problema para determinar si la
ecuación presenta o no solución; de no conocerse, determinar el valor inicial x 0 a utilizar.
2. Copie a una carpeta de MATLAB el archivo NewtonHorner.m
3. Encuentre una raíz para y = f(x) = 4x4 + 3x3 - 2x2 + 4x – 8, Error = 0.001; x0 = 0.
4. Aquí se tiene el vector de coeficientes: [4 3 -2 4 -8].
5. En el workspace escribir lo siguiente:

>> NewtonHorner(100)

METODO DE NEWTON HORNER


Coeficientes del polinomio = [4 3 -2 4 -8]
Error = 0.001
Valor de Inicio Xo =0
-----------------------------------------------
ite. Xn Xn+1 f(Xn+1)
-----------------------------------------------
0 0.00000
1 0.00000 2.00000 -8.000000
2 2.00000 1.50000 80.000000
3 1.50000 1.16955 23.875000
4 1.16955 1.00232 6.225833
5 1.00232 0.96024 1.058118
6 0.96024 0.95786 0.053727
-----------------------------------------------
La raiz es = 0.95786

ans =
0.9579

Otra forma de calcular la raíz de manera directa es:

>> sol=NewtonHorner(100,[4 3 -2 4 -8],0.001,0)


sol =
0.9579

PRÁCTICA:

Siguiendo los ejemplos anteriores, realice los programas en MATLAB para:

 Método de los Factores Cuadráticos.


 Método de Müller.

Luis Cabezas Tito Métodos Numéricos Página 7


Para cambiar la función y = f(x) tiene que editar los Archivos Script desde MATLAB. Estos archivos son los
siguientes:

ecua_PuntoFijo.m
NewtonRaphson.m
Secante.m
FalsaPosicion.m
Biseccion.m
Steffensen.m
NewtonRaphsonSegundoOrden.m

----- oOo -----

Luis Cabezas Tito Métodos Numéricos Página 8

También podría gustarte