Résolution d'un système d'équations non linéaires

elonakache Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
JulienJust Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche à résoudre le système non linéaire suivant:
function F= myfun(x)
F= [x(2)*x(3)^(-1.222)-0.1358;
4.4829*(0.386+0.27*(x(2)*x(3))^(0.55))^((x(1)-1)/0.55)*(0.164)^(1-x(1))-1.575;
0.0848*(0.164)^(x(1)-1)*(0.08*(0.164)^x(1)+0.92*(0.386+0.27*(x(3)*x(2))^0.55)^(x(1)/0.55))^(-1)-0.2/(0.753-x(3))];

end
Je veux utiliser la commande fsolve. Je suis débutante en Matlab et si je comprends bien, il faut que je pose une racine simple x0 à partir de laquelle matlab va partir pour pouvoir résoudre le système. Y a-t-il un moyen simple et rapide de déterminer le x0?

Merci d'avance pour votre aide.

1 réponse

JulienJust Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   18
 
Bonjour,

Pourquoi ne pas demander à Matlab : http://www.mathworks.fr/fr/help/optim/ug/fsolve.html


Pour le x0, as-tu tester avec un vecteur unité, vecteur nul ou encore n'importe quel autre vecteur ?

Car le meilleur moyen est de tester. Mais plus ton vecteur initial sera loin du résultat, plus Matlab devra faire d'itérations avant de trouver le bon résultat (en gros, il mettra plus de temps à trouver le résultat si tu fais partir l'équation de trop loin).

Je te conseille du coup de partir progressivement en commençant avec un petit vecteur, genre x0 = [0.1; 0.1; 0.1] et de voir ce que ça donne.

Cdlt

P.S. : Je peux bien me tromper :-)
Est-ce qu'il y a des conditions sur les valeurs de x(1), x(2), et x(3) ?
0