Comment utiliser fsolve en MATLAB

Résolu/Fermé
essa1 Messages postés 4 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 7 décembre 2009 - 6 déc. 2009 à 18:43
elhajri Messages postés 4 Date d'inscription samedi 16 mai 2015 Statut Membre Dernière intervention 18 mai 2015 - 18 mai 2015 à 18:47
Bonjour,
SVP aidez moi à utiliser la fonction fsolve en MATLAB.
Si possible de me donner un exemple simple pour pouvoir résoudre une fonction non linéaire.
mon problème est comment trouver k:l'inconnu de cette fonction:
F=1/h .[Lambertw{ad.h.exp(-(a+k)h)}]+a+k+1=0;
svp aidez moiiiiiii !!!!!!!!!!!!
c urgentttttttttttttttt
je suis en paaaaaaaaaaaaanne

6 réponses

essa1 Messages postés 4 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 7 décembre 2009 2
7 déc. 2009 à 11:49
bonjour ,
pour ceux qui n'ont pas pu utiliser la fonction fsolve, voilà COMMENT çA MARCHE :))
vous avez par exemple cette fonction non linéaire F(x)=x^2+1=0 la solution doit être = i
le problème avec "fsolve" c'est le point d'initialisation x0 de l'algotithme qui cherche la fontion:

donc si en prend x0=2 voilà l'instruction et le résultat:

x=fsolve(@(x) x^2+1,2)
Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.

x =

0

donc il faut changer x0=3i+2 (choix arbitraire)

x=fsolve(@(x) x^2+1,3i+2)
Optimization terminated: first-order optimality is less than options.TolFun.

x =

0.0000 + 1.0000i

donc le problème est résolu.
2