Programmation Octave/Analyse réelle

Opérateur de base

modifier

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

modifier

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

modifier

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

modifier

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

modifier

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

modifier

On peut aussi très simplement calculer des fonctions spéciales:

Somme et Produit

modifier

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

modifier

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

modifier

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