Está en la página 1de 24

M A TERI A

MET O DO S N UME R IC O S

I N TEGRA N TES:

N AR C ISO SO T O ISAAC

FR AN C ISC O JAVI ER AR R O YO AL TAMIR AN O

JIMEN EZ V AZ Q UEZ R IC AR DO JEO VAN Y

O L IVAR ES R O DRIG UEZ O SVAL DO

EC HAVER R IA G O N Z AL EZ FR AN C ISC O JAVI ER

DOCEN TE:

M.C . KR IST HI AN O MAR AL C AN T AR MEDIN A

CA RERRA :

IN G EN IEIA EL EC T R IC A
Un sist e ma de e cu a cio ne s e s n o line a l, cua n do a l m enos
una de s us ec ua ci one s no es de pri me r gra do .

L a re so lu ción d e e st o s sist em a s se su e le ha ce r p or e l
m é todo de s us ti tuc i ón , p a ra e llo se gu ire m o s lo s sigu ie n t es
p a so s:
1 º S e de s pe ja una i nc ógni ta e n u n a d e la s e cu a cio n e s,
p ref e ren t em en t e en l a de pri me r grado .

y = 7 − x

2 º S e s us ti tu ye el va lo r d e la in cógn it a de sp e jad a en la
otr a e c uac i ón.

x 2 + (7 − x) 2 = 2 5

3 º Se res ue l ve l a e c ua ci ón re su lta nt e .

x2 + 49 − 14x + x2 = 25

2x2− 14x + 24 = 0

x2− 7x + 12 = 0

4 º Cad a u no de l os va l ore s obte ni dos s e s us ti tu ye e n l a


otr a e c ua c i ón , se ob t ien e n a sí los va lo re s co rre spo n d ien tes
d e la o t ra in có gn ita .

x = 3 y = 7 − 3 y = 4

x = 4 y = 7 − 4 y = 3
Los sistemas no lineales representan sistemas cuyo comportamiento no es
expresable como la suma de los comportamientos de sus descriptores. Más
formalmente, un sistema físico, matemático o de otro tipo es no lineal cuando las
ecuaciones de movimiento, evolución o comportamiento que regulan su
comportamiento son no lineales. En particular, el comportamiento de sistemas no
lineales no está sujeto al principio de superposición, como lo es un sistema lineal.

Algunos sistemas no lineales tienen soluciones exactas o integrables, mientras


que otros tienen comportamiento caótico, por lo tanto no se pueden reducir a una
forma simple ni se pueden resolver. Un ejemplo de comportamiento caótico son
las olas gigantes. Aunque algunos sistemas no lineales y ecuaciones de interés
general han sido extensamente estudiados, la vasta mayoría son pobremente
comprendidos

Las ecuaciones no lineales son de interés en física y matematicas debido a que la


mayoría de los problemas físicos son implícitamente no lineales en su naturaleza.
Ejemplos físicos de sistemas lineales son relativamente raros. Las ecuaciones no
lineales son difíciles de resolver y dan origen a interesantes fenómenos como la
teoría del caos Una ecuación lineal puede ser descrita usando un operador lineal,
L. Una ecuación lineal en algún valor desconocido de u tiene la forma

Una ecuación no lineal es una ecuación de la forma:

Para algún valor desconocido de u.

Para poder resolver cualquier ecuación se necesita decidir en qué espacio


matemático se encuentra la solución u. Podría ser que u es un número real, un
vector o, tal vez, una función con algunas propiedades.

Las soluciones de ecuaciones lineales pueden ser generalmente descritas como


una superposición de otras soluciones de la misma ecuación. Esto hace que las
ecuaciones lineales sean fáciles de resolver.

Las ecuaciones no lineales son mucho más complejas, y mucho más difíciles de
entender por la falta de soluciones simples superpuestas. Para las ecuaciones no
lineales las soluciones generalmente no forman un espacio vectorial y, en general,
no pueden ser superpuestas para producir nuevas soluciones. Esto hace el
resolver las ecuaciones mucho más difícil que en sistemas lineales.
ECUACIONES NO LINEALES ESPECIFICAS

Algunas ecuaciones no lineales son bien comprendidas, por ejemplo:

y = x2 − 1

Y otras ecuaciones polinomiales.

Sin embargo, los sistemas de ecuaciones no lineales son mucho más complejos.
Similarmente, ecuaciones diferenciales de primer orden no lineales, tal como:

dxu = u2

son fácilmente resueltas (en este caso por separación de variables). Las
ecuaciones diferenciales de orden superior, tales como:

donde g es una función no lineal, son mucho más desafiantes.

Para las ecuaciones diferenciales parciales, el panorama es aún peor, ya que,


aunque un número de resultados indique la existencia de soluciones, la estabilidad
de una solución y la dinámica de las soluciones tienen que ser probadas.
Los métodos interactivos o aproximados proveen una alternativa en los métodos
de eliminación discreto hasta ahora. Las técnicas para obtener las raíces de una
ecuación simple. Aquellos planteamientos consistían en suponer un valor y luego
usar un método sistemático para obtener una estimulación refinada de la raíz.

El método de Gauss-Seidel es el método iterativo mas comúnmente usado.


Suponga que se da un conjunto de n ecuaciones.

[A][X]=[B]

Suponga que para ser conciso se limita a un conjunto de ecuaciones de 3 X3. So


los elementos de la diagonal no son todos cero, la primero ecuación de puede
resolver para X3 para obtener

𝑏1 − 𝑎12𝑥2 − 𝑎13𝑥3
𝑥1 =
𝑎11
(11.5a)

𝑏2 − 𝑎21𝑥1 − 𝑎23𝑥3
𝑥2 =
𝑎22
(11.5b)

𝑏3 − 𝑎31𝑥1 − 𝑎32𝑥2
𝑥2 =
𝑎33
(11.5c)

Ahora, se puede empezar el proceso de solución al escoger los valores iniciales


de las x. una forma simple para obtener los valores iniciales es suponer que todos
son cero. Estos ceros se pueden sustituir en la ecuación (11.5a), la cual se puede
usar para calcular un nuevo valor para x1=b1/a11. Después, se sustituye este
nuevo valor de x1 junto con los valores previos de cero para x3 en la ecuación
(11.5b) y calcular el nuevo valor para x2. Este proceso se repite en la ecuación
(11.5c) para calcular un nuevo estimado de x3. Después se regresa a la primera
ecuación y se repite todo el procedimiento hasta que a solución converja lo
suficientemente cercana a los valores reales

𝑥𝑖 𝑗 −𝑥𝑖 𝑗−1
│εa,i│= │ │
𝑥𝑖 𝑗

Para todas las i, donde j y j-1 son las interacciones actuales y previas.

Use el método de Gauss-Seidel para obtener la solución del sistema

3x1 - 0.1x2 - 0.2x3 = 7.85


0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 – 0.2 + 10x3 = 71.4

Recuerde que la solución real es x1=3, x2=-2.5 y x3= 7.

SOLUCIÓN:

Primero, resuelva la incógnita de cada una de las ecuaciones sobre la diagonal.

7.58 + 0.1𝑥2 + 0.2𝑥3


𝑥1 =
3
(E11.3.1)

−19.3 − 0.1𝑥1 + 0.3𝑥3


𝑥2 =
7
(E11.3.2)

71.4 − 0.3𝑥1 + 0.2𝑥2


𝑥3 =
10
(E11.3.3)

Al asumir que x2 y x3 son cero, se puede usar la ecuación (E11.3.1) PARA


CALCULAR
7.58 + 0 + 0
𝑥1 = = 2.616667
3
Este valor, junto con el valor asumido de x3=0, se puede sustituir en la ecuación
(E11.3.2) para calcular

−19.3 − 0.1(2.616667) + 0
𝑥2 = = −2.794524
7

La primera iteración se completa al sustituir el valor calculado de x1 y x2 en la


ecuación (E11.3.3) para obtener

71.4 − 0.3(2.616667) + 0.2(−2.794524)


𝑥3 = = 7.005610
10
Para la segunda iteración, se repite el mismo proceso para calcular
7.58+0.1(−2.794524)+0.2(7.005610
𝑥1 = = 2.990557 │εt│=0.31%
3

−19.3−0.1(2.990557)+0.3(7.005610)
𝑥2 = = −2.499625 │εt│=0.015%
7

71.4−0.3(2.990557)+0.2(−2.499625)
𝑥3 = = 7.000291 │εt│=0.0042%
10

El método es, por lo tanto, convergente hacia la solución real. Se puede aplicar
interacciones adicionales para mejorar los resultados. Sin embargo, en un
problema real, no se podría saber la respuesta correcta con anticipación. En
consecuencia, la ecuacion-811.6) provee un medio para estimar el error. Por
ejemplo, para x1,

2.990557−2.616667
│εa.1│= │ │100% = 12.5%
2.990557

Para x2 y x3, los errores estimados son │εa.2│=11.8% y │εa.3│= 0.076%. Observe
que, como cuando se determinaron las raíces de una ecuación simple,
formulaciones como la ecuación (11.6) proveen usualmente una valoración de
convergencia conservativa. Así, cuando ales formulaciones se cumplen, aseguran
que el resultado sea conocido con al menos la tolerancia especificada por εs.

Como cada nuevo valor de x se calcula con el método de Gauss-Seidel, este se


usa inmediatamente en la siguiente ecuación para determinar otro valor de x. de
esta forma, si la solución es convergente, se empleara la mejor estimación
disponible. Un planteamiento alternativo, llamado iteración de jacobi, utiliza una
técnica algo diferente. Mas que usar el ultimo valor disponible de x, esta técnica
usa la ecuación (11.5) para calcular un conjunto de nuevas x con base en un
conjunto de las x anteriores. De esta forma, como se generan nuevos valores, no
se usan en forma inmediata sino que se retienen para la siguiente iteración.

ALGORITMO DE GAUSS-SEIDEL

A continuación se muestra un algoritmo, para el método de Gauss- Seidel, con


relajación. Observe que este algoritmo no garantiza la convergencia si las
ecuaciones no se introducen de forma diagonal dominante.

El pseudocódigo tiene dos características que vale la pena mencionar. La primera


es que existe un conjunto inicial de ciclos anidados para dividir cada ecuación
entre su elemento diagonal. Esto reduce el número total de operaciones en el
algoritmo. Segunda, observe que el error de verificación se designa por una
variable llamada sentinel . Si en cualquiera de las ecuaciones se tiene un error
aproximado mayor que el criterio de paro (es), entonces se permite continuar con
las iteraciones. El uso de la variable sentinel permite evitar los cálculos
innecesarios de estimación de error una vez que las ecuaciones excedan el
criterio.

Problemas en contexto para el método de Gauss- Seidel

Además de evitar el problema de redondeo, la técnica de Gauss-Seidel tiene


muchas otras ventajas que la hacen particularmente atractiva en el contexto de
ciertos problemas de ingeniería. Por ejemplo, cuando la matriz en cuestión es muy
grande y muy rala (cuando la mayoría de sus elementos son cero), los métodos de
eliminación consumen grandes cantidades de memoria de cómputo para calcular
ceros.

Al inicio de estos capítulos se vio como esta desventaja se puede evitar si el


coeficiente de la matriz se alinea en forma de banda. Para sistemas que no tienen
la forma de banda, usualmente no existe un camino simple para evitar grandes
requerimientos de memoria cuando se usan los métodos de eliminación. Como
todas las computadoras tienen una cantidad de memoria finita, este ineficiencia da
lugar a restricciones en el tamaño de los sistemas, por lo cual los métodos de
eliminación son prácticos.

A continuación el algoritmo:

SUBROTINE Gseid (a,b,n,x,imax,es,lambda)

DO i = 1,n

dummy = ai,i

DO j = 1,n

ai,j = ai,j/dummy

END DO

bi= bi/dummy

END DO

DO i = 1,n

sum = bi

DO j = 1,n

IF ≠ j THEN sum = sum – ai,j *xj

END DO

xi = sum

END DO

iter = 1

DO

sentinel = 1

DO i = 1,n

old = xi

sum = bi

DO j = 1,n
IF ≠ j THEN sum = sum – ai,j * xj

END DO

xi = lambda*sum + (1.-lambda)*old

IF sentinel = 1 AND x1 ≠ 0. THEN

ea = ABS ((xi – old)/xi)*100

IF ea › es THEN sentinel = o

END IF

ENDDO
iter = iter +1

IF sentinel = 1 OR (iter ≥ iter max) EXIT

END DO

END Gseid

PROGRAMA QUE IMPLEMENTA EL METODO DE GAUSS SEIDEL CON


PIVOTEO PARA //

// LA ASIGNATURA DE SOFTWARE NUMERICO. //

#include <stdio.h>

#include <math.h>

#include <iostream.h>

#include <conio.h>

#define L 10

#define P L

float
A[L][P],MATRIZ[L][P],VECTOR[L],X[L],CX[L],C[L],RESULTADOS[L],tabla[1000];
float a, b, c, d, e, f;

int it,ini,n,x,y,z,cont=0;

void Gauss_Seidel(int n)

for(x=0;x<n;x++)

CX[x]=0;

X[x]=0;

for(y=0;y<n;y++)

for(x=0;x<n;x++) //Ingreso de la matriz A

cout<<"A["<<y<<"]["<<x<<"] = ";

cin>>e;

A[y][x]=e;

MATRIZ[y][x]=e; //esta es la matriz q no varia

cout<<"Y la constante C["<<y<<"] = ";

cin>>f;

C[y]=f;

VECTOR[y]=f; //este es el vector que no se modifica

int sum=0,cont=0,reglon=0;

for(int i=0;i<n;i++) //se suma la diagonal principal


sum=sum+abs(A[i][i]);

for(i=0;i<n;i++) //se compara cada reglon con el valor de la diagonal

for(int j=0;j<n;j++)

reglon=reglon+abs(A[i][j]);

if(reglon<=sum) cont++;

reglon=0;

int temp[L][P],H[P];

if(cont!=n) //aqui se realiza el pivoteo

for(i=0;i<n;i++)

for(int j=i;j<n;j++)

int d,e;

d=abs(A[i][i]);

e=abs(A[j][i]);

if(d<e)

for(int z=0;z<n;z++)

temp[i][z]=A[i][z];
A[i][z]=A[j][z];

A[j][z]=temp[i][z];

H[i]=C[i];

H[j]=C[j];

C[i]=H[j];

C[j]=H[i];

i=0;

for(it=0;it<100;it++)

for(y=0;y<n;y++)

for(x=0;x<n;x++)

CX[y]-=(A[y][x]*X[x])/A[y][y];

CX[y]+=(C[y]/A[y][y]);

X[y]=CX[y];

tabla[i]=CX[y]; //tabla sirve para imprimir la tabla de


resultados

i++;

}
}

void titulo(int n)

int o=10,i=1;

clrscr();

for(i=1;i<n+1;i++)

o=o+10;

gotoxy(o,3);

cout<<"X"<<i;

gotoxy(15,4);cout<<"--------------------------------------------";

void resultados()

int q=0,i=1,t=3,s=n,r=0;

int sw=0,w=0,ite=0,h=0;

while((sw==0)&&(w<20))

h=0;

while(h<n)

if(tabla[r]==tabla[r+s])
{

cont++;

if(cont==n)

sw=1;

r++;

s++;

h++;

ite++;

w++;

w=ite-1;

for(int j=0;j<w;j++)

t=t+2;

if((i%10==0))

textcolor(LIGHTRED+BLINK);

gotoxy(5,t-2);

cprintf("\n\n Presione una tecla para ver la siguiente parte de la


tabla!!! ");

getch();

textcolor(GREEN);

clrscr();
t=5;

titulo(n);

gotoxy(15,t);cout<<i<<"ø";

int y=20,z=0;

for(int r=0;r<n;r++)

gotoxy(y+z,t);cout<<tabla[q];

q++;

z=z+10;

i++;

void main()

textcolor(GREEN);

clrscr();

cout<<" Solucion de ecuaciones simultaneas\n\n\n Metodo de Gauss-


Seidel";

cout<<"\n\n Cuantas incognitas tendra el sistema: ";

scanf("%d",&n);

Gauss_Seidel(n);

titulo(n);
resultados();

cout<<"\n\nLos resultado son ";

for(x=0;x<n;x++)

RESULTADOS[x]=X[x];

cout<<"\nX["<<x<<"]= "<<RESULTADOS[x];

getch();

En análisis numérico, el método de Newton (conocido también como el método de


Newton-Raphson o el método de Newton-Fourier) es un algoritmo eficiente para
encontrar aproximaciones de los ceros o raíces de una función real. También
puede ser usado para encontrar el máximo o mínimo de una función, encontrando
los ceros de su primera derivada.

.Recordemos que el método de Newton – Raphson es un método abierto que


encuentra la raíz de x como una función tal que 𝑓(𝑥 = 0. El método se resume
como

𝑓(𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 −
𝑓′(𝑥𝑖 )
Se puede usar un planteamiento similar abierto para encontrar un óptimo de 𝑓(𝑥)
al definir una nueva función , 𝑔(𝑥) = 𝑓′(𝑥). Así, como el mismo valor óptimo de 𝑥 ∗
satisface ambos

𝑓 ′ (𝑥 ∗ ) = 𝑔(𝑥 ∗ ) = 0
Se puede usar lo siguiente
𝑓′(𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 −
𝑓′′(𝑥𝑖 )
Como una técnica para encontrar el mínimo o máximo de 𝑓(𝑥). Se debería
observar que esta ecuación puede también derivarse al escribir una serie de
Taylor de segundo orden para 𝑓(𝑥) e igualar a la derivada de la seria a cero. El
método de Newton es abierto y similar al de Newton – Raphson porque no
requiere de valores iniciales que contengan el óptimo. Además, también comparte
la desventaja de poder ser divergente. Por último, es una buena idea verificar que
la segunda derivada tenga usualmente el signo correcto para confirmar que la
técnica converge sobre el resultado deseado.

Otra definición de este método lo define como un método abierto, en el sentido de


que su convergencia global no está garantizada. La única manera de alcanzar la
convergencia es seleccionar un valor inicial lo suficientemente cercano a la raíz
buscada. Así, se ha de comenzar la iteración con un valor razonablemente
cercano al cero (denominado punto de arranque o valor supuesto). La relativa
cercanía del punto inicial a la raíz depende mucho de la naturaleza de la propia
función; si ésta presenta múltiples puntos de inflexión o pendientes grandes en el
entorno de la raíz, entonces las probabilidades de que el algoritmo diverja
aumentan, lo cual exige seleccionar un valor supuesto cercano a la raíz. Una vez
que se ha hecho esto, el método linealiza la función por la recta tangente en ese
valor supuesto. La abscisa en el origen de dicha recta será, según el método, una
mejor aproximación de la raíz que el valor anterior. Se realizarán sucesivas
iteraciones hasta que el método haya convergido lo suficiente.
f'(x)= 0 Sea f : [a, b] -> R función derivable definida en el intervalo real [a, b].
Empezamos con un valor inicial x0 y definimos para cada número natural n

Donde f ' denota la derivada de f.

Nótese que el método descrito es de aplicación exclusiva para funciones de una


sola variable con forma analítica o implícita cognoscible. Existen variantes del
método aplicables a sistemas discretos que permiten estimar las raíces de la
tendencia, así como algoritmos que extienden el método de Newton a sistemas
multivariables, sistemas de ecuaciones, etc.

Gráficamente podemos
darnos una idea del
método de Newton –
Raphson de la siguiente
manera:

La función ƒ es mostrada
en azul y la línea tangente
en rojo. Vemos que xn+1 es
una mejor aproximación
que xn para la raíz x de la
función f.

El orden de convergencia de este método es, por lo menos, cuadrático. Sin


embargo, si la raíz buscada es de multiplicidad algebraica mayor a uno (i.e, una
raíz doble, triple,...), el método de Newton-Raphson pierde su convergencia
cuadrática y pasa a ser lineal de constante asintótica de convergencia 1-1/m, con
m la multiplicidad de la raíz.

Su principal desventaja en este caso sería lo costoso que pudiera ser hallar g(x) y
g'(x) si f(x) no es fácilmente derivable.

Por otro lado, la convergencia del método se demuestra cuadrática para el caso
más habitual en base a tratar el método como uno de punto fijo: si g'(r)=0, y g' '(r)
es distinto de 0, entonces la convergencia es cuadrática. Sin embargo, está sujeto
a las particularidades de estos métodos.

Nótese de todas formas que el método de Newton-Raphson es un método abierto:


la convergencia no está garantizada por un teorema de convergencia global como
podría estarlo en los métodos de falsa posición o de bisección. Así, es necesario
partir de una aproximación inicial próxima a la raíz buscada para que el método
converja y cumpla el teorema de convergencia local.

Se puede demostrar que el método de Newton-Raphson tiene convergencia


cuadrática: si α es raíz, entonces:
Para una cierta constante C. Esto significa que si en algún momento el error es
menor o igual a 0,1, a cada nueva iteración doblamos (aproximadamente) el
número de decimales exactos. En la práctica puede servir para hacer una
estimación aproximada del error:

Error relativo entre dos aproximaciones sucesivas:

Con lo cual se toma el error relativo como si la última aproximación fuera el valor
exacto. Se detiene el proceso iterativo cuando este error relativo es
aproximadamente menor que una cantidad fijada previamente.

𝑥2
Use el método de Newton para encontrar el máximo de: 𝑓(𝑥) = 2 𝑠𝑒𝑛 𝑥 −
10
con un valor inicial de 𝑥0 = 2.5

SOLUCION: La primera y segunda derivada de la función se puede evaluar como:

𝑥
𝑓 ′ (𝑥) = 2 cos 𝑥 −
5
1
𝑓 ′′ (𝑥) = −2 𝑠𝑒𝑛 𝑥 −
5

Las cuales sustituiremos en la ecuación para obtener:

𝑥
2 cos 𝑥𝑖 −
𝑥𝑖+1 = 𝑥𝑖 − 5
1
−2 𝑠𝑒𝑛 𝑥𝑖 −
5
Al sustituir el valor inicial se obtiene:

0.995
2 cos 0.995 −
𝑥1 = 2.5 − 5 = 𝟎. 𝟗𝟗𝟓𝟎𝟖
1
−2 𝑠𝑒𝑛 0.995 −
5
La cual tiene un valor de la función de 1.57859. La segunda iteración da como
resultado:

0.995
2 cos 0.995 −
𝑥1 = 0.995 − 5 = 𝟏. 𝟒𝟔𝟗𝟎𝟏
1
−2 𝑠𝑒𝑛 0.995 −
5

La cual tiene un valor de la función de 1.77385.


El proceso se repite, con los resultados abajo tabulados:

i X f (x) f ’(x) f ’’(x)


0 2.5 0.57194 -2.10229 -1.39694
1 0.99508 1.57859 0.88985 -1.87761
2 1.46901 1.77385 -0.09058 -2.18965
3 1.42764 1.77573 -0.00020 -2.17954
4 1.42755 1.77573 0.00000 -2.17952

Así dentro de las cuatro iteraciones, el resultado converge en forma rápida sobre
el valor verdadero

Consideremos el problema de encontrar un número positivo x tal que cos(x) = x3.


Podríamos tratar de encontrar el cero de f(x) = cos(x) - x3.

Sabemos que f '(x) = -sin(x) - 3x2. Ya que cos(x) ≤ 1 para todo x y x3 > 1 para x>1,
deducimos que nuestro cero está entre 0 y 1. Comenzaremos probando con el
valor inicial x0 = 0,5

Los dígitos correctos están subrayados. En particular, x6 es correcto para el


número de decimales pedidos. Podemos ver que el número de dígitos correctos
después de la coma se incrementa desde 2 (para x3) a 5 y 10, ilustrando la
convergencia cuadrática.
En pseudocódigo esto es:

function newtonIterationFunction(x) {
return x - (cos(x) - x^3) / (-sin(x) - 3*x^2)
}

var x := 0,5

for i from 0 to 99 {
print "Iteraciones: " + i
print "Valor aproximado: " + x
xold := x
x := newtonIterationFunction(x)
if x = xold {
print "Solución encontrada!"
break
}
}

Programa escrito en Matlab para hallar las raíces usando el método de


NEWTON-RAPHSON

function x =newton()
disp ('NEWTON-RAPHSON')
xo=input('Valor inicial =');
n=input ('numero de iteraciones=');
salida=ones(n,4); % matiz de salida de datos
for i=1:n
x1=xo-[(exp(-xo)-xo)]/[(-exp(-xo)-1)];
vsal=[xo;x1];
er=[[abs((xo-x1)/xo)]]*100; % error relativo porcentual
ea=[[abs((x1-xo)/x1)]]*100; % error
xo=x1;

salida(i,1)=i;
salida(i,2)=x1;
salida(i,3)=er;
salida(i,4)=ea;
end
disp('ite raiz er ea');
disp(num2str(salida));
Aunque el método de Newton – Raphson trabaja bien en algunos casos, no es
practico en otros donde las derivadas no se pueden evaluar en forma conveniente.
Para estos casos, se dispone de otros procedimientos que no involucran la
evaluación de la derivada. Por ejemplo, un método de Newton, en versión como la
secante, se puede desarrollar al usar aproximaciones por diferencia finita para las
evaluaciones de la derivada.

Una restricción mayor con respecto al procedimiento es que puede divergir con
base en la naturaleza de la función y la calidad del valor inicial. Asi, usualmente se
emplea solo cuando esta cerca del optimo. Las técnicas hibridas que usan
procedimientos con intervalos lejos del optimo y los métodos abiertos cercanos al
optimo intentan explotar los puntos fuertes de ambos procedimientos.

Esto concluye nuestro tratamiento de los métodos para encontrar el optimo de


funciones de una sola variable. Por otra parte, las técnicas descritas aquí son un
importante elemento de algunos procedimientos para optimizar multivariables, que
se analizaran mas adelante.

Título: Métodos Numéricos para Ingenieros


Autores: Steven C. Chapra, Raymond P. Canale
Editorial: MacGH

http://ocw.upm.es/matematica-aplicada/programacion-y-metodos-
numericos/contenidos/TEMA_8/Apuntes/EcsNoLin.pdf

También podría gustarte