Bonjour à tous !
J'essaye de résoudre un système de 4 équations à 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:function F = myfun(x) F = [cpc1*(Tc1-x(1)) - cpf1*(x(2) - x(3)); C*(x(2) - x(3)) - E*(Tc1 - x(2) - x(1) + x(3))/(log((Tc1 - x(2))/(x(1) - x(3)))); A*(x(1) - x(3))-B*(x(4) - Tje); 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:x0 = [100; 100; 100; 100]; % Make a starting guess at the solution options=optimset('Display','iter'); % Option to display output [x,fval] = fsolve(@myfun,x0,options) % Call solver
Mais j'ai le message d'erreur suivant :
Code:??? 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 !
-----