Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1479 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

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

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2075048
gotenths
Posté le 10-05-2011 à 16:33:30  profilanswer
 

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 !

mood
Publicité
Posté le 10-05-2011 à 16:33:30  profilanswer
 

n°2075308
esox_ch
Posté le 11-05-2011 à 16:30:33  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

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

 

Sujets relatifs
Problème avec menu sous Asp.Net2005erreur de syntaxe, probleme langage C
Problème affichage Visual StudioProblème internet explorer + site web
Problème vectorImportant problème boutons d'executions
Problème avec un alphabeta en C pour othelloProblème de récupération de données
Problème programmation orientée objetProblème sur page d'identification complexe sans bdd
Plus de sujets relatifs à : Probleme fsolve MATLAB : résolution système de 4 équations


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR