Bonjour à tous,
Suite à des questions reçues par courriel sur le devoir 5, et puisqu'on voit les systèmes non linéaires que lundi en classe, voici quelques indications vous aider à cheminer.
Il faut commencer par lire l’exemple 3.89 (p.148 5e édition) et ensuite retourner au début de la section 3.10 pour comprendre les détails de la méthode. Au début de cet exemple on voit un système de deux équations non linéaires. On doit d’abord écrire le problème du devoir sous cette forme. La forme de chaque équation est du genre f(x,y,z) = 0 pour généraliser la formulation. Si on a par exemple g(x,y,z)=c alors on doit simplement réécrire sous la forme g(x,y,z) - c = 0, donc f(x,y,z) = g(x,y,z) - c = 0.
Ce que l’exemple 3.89 montre c’est qu’avec la matrice J (matrice jacobienne, voir p.147) on peut trouver la correction « dx » de la méthode de Newton pour un système non linéaire en trouvant la solution au système linéaire J*dx = -R (voir p.146). Pour chaque itération de la méthode il faut évaluer J et R et on obtient un bon vieux système matriciel linéaire à résoudre. L’exemple est très clair là-dessus.
Tel qu’indiqué sur l’énoncé du devoir, la bibliothèque numérique du cours contient des fonctions Matlab pour vous aider. Je vous rappelle qu’il faut lire la première section de ces fichiers car on y trouve une description détaillée des arguments d’entrée/sortie, du fonctionnement de la fonction ainsi que des exemples d’appel que vous pouvez calquer et ajuster à votre problème.
Je vous rappelle également les bonnes pratiques d'écriture de code: avant de vous lancer dans la résolution d'un problème qui vous donnera de la difficulté, essayez un problème plus simple! En particulier, vous avez un bel exemple déjà résolu dans le livre (ex. 3.89). Commencez par essayer de le résoudre avec Matlab si le problème du devoir vous pose des difficultés. Aussi, testez chaque bout de code pendant que vous le générez pour voir si ça fait bien ce que vous pensez. N'attendez pas d'avoir tout écrit pour tout tester d'un coup, sinon votre expérience sera fort probablement misérable :P Je pense en particulier à l'utilisation de fonction Matlab pour définir un système. Vous pouvez faire appel à ces fonctions directement dans le Command Window de Matlab pour voir si vous obtenez les valeurs attendues. En plus, si ça ne fonctionne pas vous aurez des messages d'erreur pour vous aider à trouver le problème (lisez ces messages d'erreur!!!)
On aura l'occasion d'en discuter davantage en classe lundi.
Bon travail!