MET O DO S N UME R IC O S
I N TEGRA N TES:
N AR C ISO SO T O ISAAC
DOCEN TE:
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 cin 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 cgn 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
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. Ms
formalmente, un sistema fsico, matemtico o de otro tipo es no lineal cuando las
ecuaciones de movimiento, evolucin o comportamiento que regulan su
comportamiento son no lineales. En particular, el comportamiento de sistemas no
lineales no est sujeto al principio de superposicin, como lo es un sistema lineal.
y = x2 1
dxu = u2
son fcilmente resueltas (en este caso por separacin de variables). Las
ecuaciones diferenciales de orden superior, tales como:
[A][X]=[B]
1 122 133
1 =
11
(11.5a)
2 211 233
2 =
22
(11.5b)
3 311 322
2 =
33
(11.5c)
1
a,i=
Para todas las i, donde j y j-1 son las interacciones actuales y previas.
SOLUCIN:
19.3 0.1(2.616667) + 0
2 = = 2.794524
7
19.30.1(2.990557)+0.3(7.005610)
2 = = 2.499625 t=0.015%
7
71.40.3(2.990557)+0.2(2.499625)
3 = = 7.000291 t=0.0042%
10
El mtodo es, por lo tanto, convergente hacia la solucin real. Se puede aplicar
interacciones adicionales para mejorar los resultados. Sin embargo, en un
problema real, no se podra saber la respuesta correcta con anticipacin. En
consecuencia, la ecuacion-811.6) provee un medio para estimar el error. Por
ejemplo, para x1,
2.9905572.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 races de una ecuacin simple,
formulaciones como la ecuacin (11.6) proveen usualmente una valoracin de
convergencia conservativa. As, cuando ales formulaciones se cumplen, aseguran
que el resultado sea conocido con al menos la tolerancia especificada por s.
ALGORITMO DE GAUSS-SEIDEL
A continuacin el algoritmo:
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
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 ea es THEN sentinel = o
END IF
ENDDO
iter = iter +1
END DO
END Gseid
#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++)
cout<<"A["<<y<<"]["<<x<<"] = ";
cin>>e;
A[y][x]=e;
cin>>f;
C[y]=f;
int sum=0,cont=0,reglon=0;
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];
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];
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);
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();
scanf("%d",&n);
Gauss_Seidel(n);
titulo(n);
resultados();
for(x=0;x<n;x++)
RESULTADOS[x]=X[x];
cout<<"\nX["<<x<<"]= "<<RESULTADOS[x];
getch();
( )
+1 =
( )
Se puede usar un planteamiento similar abierto para encontrar un ptimo de ()
al definir una nueva funcin , () = (). As, como el mismo valor ptimo de
satisface ambos
( ) = ( ) = 0
Se puede usar lo siguiente
( )
+1 =
( )
Como una tcnica para encontrar el mnimo o mximo de (). Se debera
observar que esta ecuacin puede tambin derivarse al escribir una serie de
Taylor de segundo orden para () e igualar a la derivada de la seria a cero. El
mtodo de Newton es abierto y similar al de Newton Raphson porque no
requiere de valores iniciales que contengan el ptimo. Adems, tambin 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
tcnica converge sobre el resultado deseado.
Grficamente podemos
darnos una idea del
mtodo de Newton
Raphson de la siguiente
manera:
La funcin es mostrada
en azul y la lnea tangente
en rojo. Vemos que xn+1 es
una mejor aproximacin
que xn para la raz x de la
funcin f.
Su principal desventaja en este caso sera lo costoso que pudiera ser hallar g(x) y
g'(x) si f(x) no es fcilmente derivable.
Por otro lado, la convergencia del mtodo se demuestra cuadrtica para el caso
ms habitual en base a tratar el mtodo como uno de punto fijo: si g'(r)=0, y g' '(r)
es distinto de 0, entonces la convergencia es cuadrtica. Sin embargo, est sujeto
a las particularidades de estos mtodos.
Con lo cual se toma el error relativo como si la ltima aproximacin fuera el valor
exacto. Se detiene el proceso iterativo cuando este error relativo es
aproximadamente menor que una cantidad fijada previamente.
2
Use el mtodo de Newton para encontrar el mximo de: () = 2
10
con un valor inicial de 0 = 2.5
() = 2 cos
5
1
() = 2
5
2 cos
+1 = 5
1
2
5
Al sustituir el valor inicial se obtiene:
2.5
2 cos 2.5
1 = 2.5 5 = .
1
2 2.5
5
La cual tiene un valor de la funcin de 1.57859. La segunda iteracin da como
resultado:
0.995
2 cos 0.995
1 = 0.995 5 = .
1
2 0.995
5
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
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 "Solucin encontrada!"
break
}
}
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 mtodo 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
evaluacin de la derivada. Por ejemplo, un mtodo de Newton, en versin como la
secante, se puede desarrollar al usar aproximaciones por diferencia finita para las
evaluaciones de la derivada.
Una restriccin mayor con respecto al procedimiento es que puede divergir con
base en la naturaleza de la funcin y la calidad del valor inicial. Asi, usualmente se
emplea solo cuando esta cerca del optimo. Las tcnicas hibridas que usan
procedimientos con intervalos lejos del optimo y los mtodos abiertos cercanos al
optimo intentan explotar los puntos fuertes de ambos procedimientos.
http://ocw.upm.es/matematica-aplicada/programacion-y-metodos-
numericos/contenidos/TEMA_8/Apuntes/EcsNoLin.pdf