Matlab - Ayuda método newton sistema ec. no lineales

 
Vista:

Ayuda método newton sistema ec. no lineales

Publicado por Javier (2 intervenciones) el 02/03/2012 16:39:46
Hola a todos. Estoy intentando utilizar l método de Newton para hallar los valores de dos variables, para resolver dos ecuaciones no lineales y no hay manera. Las ecuaciones son,(se ven desde estas direcciones):

http://www.alciro.org/cgi/tex.cgi?0=\frac{2}{G}-\sum_{v}^{n}\frac{1}{\sqrt[]{(\varepsilon%20{v}-\lambda%20)^{2}+^{\delta%20^{2}}}}



http://www.alciro.org/cgi/tex.cgi?0=N-\sum_{v}^{n}1-\frac{(\varepsilon%20{v}-\delta%20)}{\sqrt[]{(\varepsilon%20{v}-\lambda%20)^{2}+^{\delta%20^{2}}}}


donde G, N y los eps(v) los conozco. Las incognitas son lambda y delta, que las llamo x(1) y x(2) en Matlab respectivamente. Yo hago lo siguiente:

---------------------------------------------------------------------------------------
clear
clc

eps=[-0.83055E+01;-0.70276E+01];
n=length(eps);

f(1)= 0;
f(2)= 0;
J(1,1) = 0;
J(1,2) = 0;
J(2,1) = 0;
J(2,2) = 0;
counter = 1;
error = 10;
h=0.01;
k=0.01;
x = input('Introduce el vector ');
while error > 1e-6 && counter < 10

for i=1:n
f(1)=f(1)+((-(1/sqrt((eps(i)-x(2))^2+x(1)^2)))+(2/(0.157*n)));
f(2)=f(2)+((-n+((eps(i)-x(2))/sqrt((eps(i)-x(2))^2+x(1)^2)))+(8/n));

J(1,1) = J(1,1)+(((-(1/sqrt((eps(i)-x(2))^2+(x(1)+h)^2)))+(2/(0.157*n))-(-(1/sqrt((eps(i)-x(2))^2+x(1)^2)))+(2/(0.157*n)))/h);
J(1,2) = J(1,2)+(((-(1/sqrt((eps(i)-(x(2)+k))^2+x(1)^2)))+(2/(0.157*n))-(-(1/sqrt((eps(i)-x(2))^2+x(1)^2)))+(2/(0.157*n)))/k);
J(2,1) = J(2,1)+(((-n+((eps(i)-x(2))/sqrt((eps(i)-x(2))^2+(x(1)+h)^2)))+(8/n)-(-n+((eps(i)-x(2))/sqrt((eps(i)-x(2))^2+x(1)^2)))+...
(8/n))/h);
J(2,2) = J(2,1)+(((-n+((eps(i)-(x(2)+k))/sqrt((eps(i)-(x(2)+k))^2+x(1)^2)))+(8/n)-(-n+((eps(i)-x(2))/sqrt((eps(i)-x(2))^2+x(1)^2)))+...
(8/n))/k);

end


xn = x - J\f';

error = max(abs(xn(1)-x(1)),abs(xn(2)-x(2)));

counter = counter + 1;

x = xn;

end
xn
------------------------------------------------------------------------


Pero no logro que converja es decir, que las f(1) y f(2) sean cero. Falla el sumatorio pero no se como Hacerlo. Quería saber si alguien me puede echar un cable porque me tiene desesperado.
Un saludo y gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda método newton sistema ec. no lineales

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/03/2012 18:50:18
HOla Javir.
La solución es:
>>%EJECUCION
>>newton_no_lineal
1
2
3
4
5
6
7
n= 1   x1=           1    x2=           2   f1(x1,x2)=   2.000448107819e-001   f2(x1,x2)=   3.810627955491e+000
n= 2   x1=    -12.4748    x2=     4.82103   f1(x1,x2)=   1.073721073816e-002   f2(x1,x2)=  -9.749599196498e-001
n= 3   x1=    -7.39594    x2=     3.87019   f1(x1,x2)=  -7.316802610403e-003   f2(x1,x2)=   1.151873621073e-001
n= 4   x1=    -8.64807    x2=     4.48702   f1(x1,x2)=   9.117680410634e-003   f2(x1,x2)=   1.319231491770e-002
n= 5   x1=    -8.43307    x2=     4.28578   f1(x1,x2)=  -2.498017685386e-004   f2(x1,x2)=  -2.148470916681e-003
n= 6   x1=    -8.42937    x2=     4.28915   f1(x1,x2)=  -7.606445563690e-008   f2(x1,x2)=   4.006320919459e-008
n= 7   x1=    -8.42937    x2=     4.28916   f1(x1,x2)=   1.568190022283e-015   f2(x1,x2)=  -2.051692149507e-013


sI diseas te comunicas via messenger opcion audio para explicarte, porque en tu pregunta

tienes varios errores, como en las funciones donde vas a evaluar, en la parte de la sumataria, ademas me parece q no tienes claro, cuales son tus datos de entrada, y le bucle de donde a donde va ir, y tu criterio de pare tambien.


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda método newton sistema ec. no lineales

Publicado por Javier (2 intervenciones) el 02/03/2012 20:20:16
Muchas gracias. Te he escrito un correo electronico a la dirección que figura en tu mensaje.
Saludos!!!! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar