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
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