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

Fermé
elonakache Messages postés 1 Date d'inscription mardi 13 mai 2014 Statut Membre Dernière intervention 13 mai 2014 - 13 mai 2014 à 14:42
JulienJust Messages postés 139 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 2 septembre 2014 - 14 mai 2014 à 10:44
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 139 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 2 septembre 2014 18
Modifié par JulienJust le 14/05/2014 à 11:03
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