Programmation Octave/Analyse réelle
Opérateur de base
Octave possède tous les opérateurs de base : "+, -, *, /" cependant si on veut effectuer des calculs composantes par composantes et non matriciels il faut ajouter un point devant l'opérateur par exemple :
octave> x = 3*ones(2,2) x = 3 3 3 3 octave>y = x*x y = 18 18 18 18 octave:14>z = x.*x z = 9 9 9 9
Fonction de base
La fonction "ceil" permet d'obtenir le plus petit entier supérieur au nombre passé en argument:
octave:> x = ceil(1.001) x = 2
La fonction "round" permet d'obtenir l'entier le plus proche du nombre passé en argument:
octave> x = round(3.501) x = 4
Trigonométrie
Octave propose plusieurs fonctions trigonométriques:
- Sinus : "sin(x)"
- Cosinus : "cos(x)"
- Tangente : "tan(x)"
- Sécante : "sec(x)"
- Arcsinus : "asin(x)"
- Arccosinus : "acos(x)"
- Arctangent : "atan(x)"
- Cosecante : "csc(x)"
Fonction exponentielle, logarithme et puissance
On peut aussi calculer l'exponentielle d'un nombre avec la commande "exp()" ou en elevant à la puissance la constante "e", D'une façon générale on peut élever un nombre à une puissance avec l'opérateur "^":
octave> x = 2 x = 2 octave> y = 2^10 y = 1024 octave>x = exp(2) x = 7.3891 octave>y = e^2 y = 7.3891
Il y a aussi la commande "log()" pour calculer le logarithme ainsi que "log2()" et "log10()" pour le logarithme en base 2 et 10:
octave:18>z = log2(y) z = 10
Fonctions hyperboliques
Voici les fonctions hyperboliques implémentées par Octave:
- Sinus hyperbolique : "sinh(x)"
- Cosinus hyperbolique : "cosh(x)"
- Tangente hyperbolique : "tanh(x)"
- Secante hyperbolique : "sech(x)"
- Cotangente hyperbolique : "coth(x)"
- Argument sinus hyperbolique : "asinh(x)"
- Argument cosinus hyperbolique : "acosh(x)"
- Argument tangente hyperbolique : "atanh(x)"
Fonctions spéciales
On peut aussi très simplement calculer des fonctions spéciales:
- Factorielle : "factorial(x)"
- Fonction Gamma : "gamma(x)"
- Fonction d'erreur : "erf(x)"
- Fonction Beta : "beta(x,y)"
Somme et Produit
Les commandes "sum()" et "prod()" permettent de calculer la somme ou le produit des composantes d'un vecteur ligne:
octave> x = 1:5 x = 1 2 3 4 5 octave> s = sum(x) s = 15 octave> p = prod(x) p = 120
Polynôme
Octave permet de manipuler des polynômes facilement. Par exemple le vecteur :
octave> p = [-1 2 0 4];
Représente le polynôme . Par afficher le polynôme de façon naturelle il faut utiliser la fonction "polyout" :
octave> polyout(p,'x') -1*x^3 + 2*x^2 + 0*x^1 + 4
On peut aussi deriver ou integrer un polynôme avec les fonctions "polyint" et "polyder" :
octave> polyder(p) ans = -3 4 0 octave> polyint(p) ans = -0.25000 0.66667 0.00000 4.00000 0.00000
Et enfin pour evaluer un polynôme en un point on utilise polyval :
octave> polyval(p,1) ans = 5
Définir des fonctions
Pour définir ses propres fonctions il faut utiliser une commande un peu différente de ce que nous avons déjà vu. Supposons que nous voulions utiliser la fonction:
Il faut procéder comme cela :
octave> function [y] = f(x) > y = log(1+x.^2)-sqrt(cosh(x)) > endfunction
Ensuite nous pouvons tester notre fonction:
octave> y = f(0) y = -1 y = -1 octave> y = f(10) y = -100.33 y = -100.33
Une telle définition de fonction peut aussi être entrée dans un fichier spécifique qui contient exactement les mêmes caractères et qui porte comme nom, le nom de la fonction, sous la forme (ici) f.m