# esempio di ricerca di max/min/flessi (in un caso
# semplice, facilmente controllabile)
source("http://macosa.dima.unige.it/r.R")
f <- function(x) x^3-3*x^2+x-2
graphF(f,-100,100,"blue")
# restringo la scala
graphF(f,-5,5,"blue")
graphF(f,-1,3,"blue")
# I tre grafici; nel terzo sono presenti anche le uscite dei comandi seguenti
 
maxmin(f,-1,1); f( maxmin(f,-1,1) )
# 0.1835034  -1.911338
maxmin(f,1,2); f( maxmin(f,1,2) )
# 1.816497   -4.088662
POINT(maxmin(f,1,2),f(maxmin(f,1,2)), "red")
POINT(maxmin(f,-1,1),f(maxmin(f,-1,1)), "red")
# la funzione derivata
deriv(f, "x")
# 3 * x^2 - 3 * (2 * x) + 1
g = function(x) 3 * x^2 - 3 * (2 * x) + 1
grafi(g,-2,3, "red")
# La ascissa del punto di flesso
maxmin(g,0,2)
# 1
POINT(maxmin(g,0,2),f(maxmin(g,0,2)), "black")
POINT(maxmin(g,0,2),g(maxmin(g,0,2)), "black")
# Ma potevo anche calcolare la derivata seconda di f, calcolando la
# derivata di g o direttamente:
deriv2(f,"x")
# 3 * (2 * x) - 3 * 2
# Equivale a 6*(x-1) che, senza ricorre al comando "soluz", capisco si azzera per x=1