Matlab - problema con fsolve

 
Vista:

problema con fsolve

Publicado por Daniel (1 intervención) el 17/06/2008 00:29:41
Hola, tengo una pregunta sobre el manejo de fsolve, a ver si alguien me puede echar una mano que no controlo mucho el tema. La cuestión es que quiero resolver un sistema de 4 ecuaciones con 4 incognitas. He empezado por prepararme la función "sistema"

function F=sistema(g)

F=[(1/n)*(g(1)+i*g(2))*(g(1)-i*g(2))-a;
(1/n)*(g(3)+i*g(4))*(g(3)-i*g(4))-b
(1/n)*(g(3)+i*g(4))*(g(1)-i*g(2))-c;
(1/n)*(g(1)+i*g(2))*(g(3)-i*g(4))-d];

g es lo que quiero obtener y a,b,c,d,n, aquí viene el problema, son constantes pero que querría meter como parámetros a la función ya que necesito que cambien de un problema a otro. He mirado en la ayuda de Matlab y no he visto nada que me aclare, lo único que pone para que llame a la función es:

x0=[1,1,1,1]; % Vector inicial para iterar
[g,fval,flag]=fsolve(@sistema,x0) % Llamada a la función

¿Hay alguna forma de que acepte parámetros de entrada?
Gracias, un saludo.
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

problema con fsolve

Publicado por donas (2 intervenciones) el 12/11/2014 11:07:40
Has encontrado la respuesta ??
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

problema con fsolve

Publicado por donas (2 intervenciones) el 12/11/2014 11:31:04
He encontrado una solución con variable globales. Un ejemplo.

%declaro una función
function y=tubo(v)
global vt
y(1)=v(1)+v(2)-vt;
y(2)=v(1).^2-2*v(2).^2;

%calculo para varios valores de la variable global
p=0
for i=1:0.5:2
p=p+1
global vt
vt=i;
v(2)=vt;
v(1)=0;
[x,fval]=fsolve(@tubo,v);
A(:,p)=x
end
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