Probleme fsolve MATLAB : résolution système de 4 équations

Probleme fsolve MATLAB : résolution système de 4 équations - Divers - Programmation

Marsh Posté le 10-05-2011 à 16:33:30    

Bonjour à tous !
 
J'essaye de résoudre un système de 4 équations à 4 inconnues non linéaire à l'aide de fsolve de Matlab, mais j'ai toujours une erreur.
J'ai pourtant suivi l'aide en ligne de Matlab.
 
C'est assez urgent donc si vous avez la solution merci beaucoup !!
 
J'ai tout d'abord créé un fichier myfun.m comprenant mon système de 4 équations (cpc1, Tc1,etc. sont des constantes définies dans mon prog principal) :
 

Code :
  1. function F = myfun(x)
  2. F = [cpc1*(Tc1-x(1)) - cpf1*(x(2) - x(3));
  3.     C*(x(2) - x(3)) - E*(Tc1 - x(2) - x(1) + x(3))/(log((Tc1 - x(2))/(x(1) - x(3))));
  4.     A*(x(1) - x(3))-B*(x(4) - Tje);
  5.     B*(x(4) - Tje) - D*(x(1) - x(4) - x(3) + Tje)/(log((x(1) - x(4))/(x(3) - Tje)))];

 
 
 
 
Et ensuite j'essaye de résoudre ça à la fin de mon programme principal :
 

Code :
  1. x0 = [100; 100; 100; 100];           % Make a starting guess at the solution
  2. options=optimset('Display','iter');   % Option to display output
  3. [x,fval] = fsolve(@myfun,x0,options)  % Call solver


 
 
 
Mais j'ai le message d'erreur suivant :
 

Citation :

??? Input argument "cpc1" is undefined.
 
Error in ==> myfun at 2
F = [cpc1*(Tc1-x(1)) - cpf1*(x(2) - x(3));
 
Error in ==> fsolve at 254
            fuser = feval(funfcn{3},x,varargin{:});
 
Error in ==> monprog at 44
[x,fval] = fsolve(@myfun,x0,options)  % Call solver
Caused by:
    Failure in initial user-supplied objective function evaluation. FSOLVE cannot
    continue.


 
 
 
Il ne semble pas reconnaître les constantes que j'ai pourtant calculées dans mon programme principal....
 
Merci d'avance !

Reply

Marsh Posté le 10-05-2011 à 16:33:30   

Reply

Marsh Posté le 11-05-2011 à 16:30:33    

Ta constante, soit tu la passes par argument, soit tu la passe globale (cherche "global" dans l'help matlab)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed