Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.

Matlab - Mejor método de resolver sistema no lineal

   
Vista:

Mejor método de resolver sistema no lineal

Publicado por Lorenzo (1 intervención) el 29/05/2012 19:35:39
Hola, tengo un sistema no lineal de ecuaciones, para ello hago lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
syms x y z t
 
%Punto inicial para iterar
X01=1 ; X02=1; X03=1; X04=1;
 
X=[x y z t];
%Ahora tengo que poner el sistema
f(1)=;
f(2)=;
f(3)=;
f(4)=;
b=[0 0 0 0];
TOLERANCIA=0.0000000000001;
X0=[X01; X02; X03; X04]; % Es el punto inicial que se escoge para iterar;
Jf=jacobian(f,X);
t=1;
j=1;
        while (t>=TOLERANCIA) && (j<100)
            A=double(subs(Jf,X,X0));
            B=b'-subs(f,X,X0)'+A*X0;
            S=A\B;
            X0=S;
            t=norma(b-subs(f,X,X0));
            j=j+1;
        end
 


En donde norma.m:

1
2
3
%X tiene que estar en columna
function J=norma(X)
J=sqrt(X*transpose(X));


Me gustaría saber, si existe un método mejor para resolver ecuaciones no lineales, por ejemplo, si hay alguno en el que no tenga que poner un punto inicial para iterar.

Un saludo y muchas 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