Programmation Octave/Calcul numérique
Résoudre des équations non-linéaires
modifierLa commande "fsolve("f",x0)" permet de donner une approximation de la solution à l'équation en partant du nombre initiale "x0". Par exemple si on veut résoudre:
Il faut d'abord définir la fonction:
octave> function [y] = f(x) > y = x.^3 - x.^2 + 5.*x -8 > endfunction
Ensuite on dessine le graphique de la fonction pour voir approximativement ou se situe le zéro de la fonction:
octave> x = -5:0.1:5; octave> plot(x,f(x));
On voit que le zéro se trouve entre 0 et 2 donc on peut choisir :
octave> z = fsolve("f",1.5) y = 0.62500 y = 0.62500 y = 0.017493 y = 5.0709e-04 y = 4.2678e-07 y = 1.0425e-11 y = 0 z = 1.4265
Ensuite on vérifie la solution:
octave> y = f(z) y = 0 y = 0
Résoudre des équations différentielles du premier ordre
modifierLa commande "lsode" permet de résoudre des équations du type:
Ou f est inconnue.
Minimiser une fonction
modifierfmins permet de minimiser une fonction de plusieurs variables. Par exemple si on veut minimiser
avec le vecteur initial (1,0). il suffit de faire :
octave> F = @(x) (x(2)-1)^2 + (x(1)-3)^2; octave> fmins(F,[1 0]) ans = 3 1