Bonjour a tous,
j'ai un probleme avec la fonction fsolve, malgré l'aide et mes recherches sur interne je n'ai pas trouvé la solution donc j'ai besoin de vous...
je suis sur que vous allez trouver tres vite mon probleme car je ne suis pas doué...
voila j'ai codé ca et il me met tjr une erreur :
Code:
1
2
3 z=0.5; result= fsolve(Tension_permanente(vyt5_linear(z),vyt20_linear(z),vyt40_linear(z),i(2),Temp,tfloat,age)+(-e(2)+r*(ucalcul*(1/u(2)))),z);
ucalcul = P/N => r*(P/N)*(1/u)
je veux juste que fsolve me donne la valeur pour laquelle mon equation U-E+r*ucalcul*(1/u)=0
mais j'obtiens cette erreur :
en cherchant sur internet j'ai trouvé ca :Code:
1
2
3
4
5
6
7
8
9
10 ??? Error using ==> lsqfcnchk at 111 FUN must be a function, a valid string expression, or an inline function object. Error in ==> fsolve at 182 funfcn = lsqfcnchk(FUN,'fsolve',length(varargin),funValCheck,gradflag); Error in ==> batterie_cadmium_nickel at 292 result= fsolve(Tension_permanente(vyt5_linear(z),vyt20_linear(z),vyt40_linear(z),i(2),Temp,tfloat,age)+(-e(2)+r*(ucalcul*(1/u(2)))),z);
mais le résultat n'est pas le bon je devrais trouver 0.973 et il me met 3.374 la différence est enorme ...Code:
1
2
3
4 z0=0.5; F=@(z)(Tension_permanente(vyt5_linear(z),vyt20_linear(z),vyt40_linear(z),i(2),Temp,tfloat,age)+(-e(2)+r*(ucalcul*(1/u(2))))); result= fsolve(F,z0)
je ne sais vraiment pas comment m'en sortir aider moi svp !
j'ai l'impression que matlab va chercher une valeur égale à 0 trop loin (environ a 10^-4) ...
merci