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:
En donde norma.m:
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.
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


0