Chapitre 8. Math´ ematiques de base
355
# à y.
-(cos(cos(x + y^2)) * (sin(x + y^2) * (2 * y)))
> f <- deriv(∼ x^2, "x", TRUE)
# Dériver x
2
# pour trouver 2x.
> f(3) # Renvoie 3^2 et 2 * 3
[1] 9
attr(,"gradient")
x
[1,] 6
Expert
Le package Ryacas permet d’interfacer R avec le logiciel de calcul formel
Yacas disponible ` a l’adresse http://yacas.sourceforge.net. Essayez,
apr` es avoir install´ e et charg´ e le package Ryacas, de taper la commande
suivante : vignette("Ryacas").
8.4.2 D´ erivation num´ erique
Il est possible d’effectuer des d´ erivations num´ eriques en utilisant la fonction
grad() du package numDeriv.
> require("numDeriv")
> f <- function(x) x^2 # Fonction d’une variable.
> grad(f,c(2,1,3,5))
# Calcule la dérivée en plusieurs points
# scalaires.
[1] 4 2 6 10
On trouve ´ egalement dans ce package la fonction hessian() permettant
d’obtenir des d´ eriv´ ees secondes, mais uniquement en un seul point vectoriel.
> g <- function(x) x[1] * x[2]^2 # Fonction de deux variables.
> grad(g,c(2,1))
# Calcule la dérivée en un seul point
# vectoriel.
[1] 1 4
> hessian(g,c(2,1))
# Calcule la dérivée seconde en un seul
# point vectoriel.
[,1] [,2]
[1,] 4.210428e-14
2
[2,] 2.000000e+00
4
La fonction numericDeriv(), plus d´ elicate d’utilisation, permet d’obtenir le
gradient d’une fonction de plusieurs variables en plusieurs points vectoriels. Par
exemple, les instructions suivantes permettent de calculer le vecteur gradient
de la fonction xy
2 aux points (2, 1) et (3, 4). Les r´ esultats sont (1, 4) et (16, 24).
355
# à y.
-(cos(cos(x + y^2)) * (sin(x + y^2) * (2 * y)))
> f <- deriv(∼ x^2, "x", TRUE)
# Dériver x
2
# pour trouver 2x.
> f(3) # Renvoie 3^2 et 2 * 3
[1] 9
attr(,"gradient")
x
[1,] 6
Expert
Le package Ryacas permet d’interfacer R avec le logiciel de calcul formel
Yacas disponible ` a l’adresse http://yacas.sourceforge.net. Essayez,
apr` es avoir install´ e et charg´ e le package Ryacas, de taper la commande
suivante : vignette("Ryacas").
8.4.2 D´ erivation num´ erique
Il est possible d’effectuer des d´ erivations num´ eriques en utilisant la fonction
grad() du package numDeriv.
> require("numDeriv")
> f <- function(x) x^2 # Fonction d’une variable.
> grad(f,c(2,1,3,5))
# Calcule la dérivée en plusieurs points
# scalaires.
[1] 4 2 6 10
On trouve ´ egalement dans ce package la fonction hessian() permettant
d’obtenir des d´ eriv´ ees secondes, mais uniquement en un seul point vectoriel.
> g <- function(x) x[1] * x[2]^2 # Fonction de deux variables.
> grad(g,c(2,1))
# Calcule la dérivée en un seul point
# vectoriel.
[1] 1 4
> hessian(g,c(2,1))
# Calcule la dérivée seconde en un seul
# point vectoriel.
[,1] [,2]
[1,] 4.210428e-14
2
[2,] 2.000000e+00
4
La fonction numericDeriv(), plus d´ elicate d’utilisation, permet d’obtenir le
gradient d’une fonction de plusieurs variables en plusieurs points vectoriels. Par
exemple, les instructions suivantes permettent de calculer le vecteur gradient
de la fonction xy
2 aux points (2, 1) et (3, 4). Les r´ esultats sont (1, 4) et (16, 24).
