
Nos gustaria conocer alguna alternativa para realizar una funcion, a la que le entreguemos una funcion y nos entregue el maximo luego de evaluar la segunda derivada
nuestro principal problema es que no conocemos como trabajar con la derivada ya que es de tipo call o expresion

aqui esta nuestro algoritmo




f<-expression(20*x*(1-x)^3)
f

#Primera derivada

derivada<-D(f,"x")
derivada
mode(derivada)


#Segunda derivada

segundaderivada<-D(derivada,"x")
segundaderivada



#Instale y cargue el paquete rootsolve 
#Puntos criticos para la primera derivada

fun <- function (x)20*(1-x)^3-60*x*(1-x)^2
curve(fun(x),0,10,main="uniroot.all")
All <- uniroot.all(fun,c(0,10))
points(All,y=rep(0,length(All)),pch=16,cex=2)

ceros<-All    #Guardamos los puntos criticos en el vector llamado ceros
ceros



#Evaluando los puntos criticos en la segunda derivada

fun <- function (x)-120*(1-x)^2+120*x*(1-x)

i=1
while(i<=length(ceros))
{
if (eval(fun(ceros[i]))<0)
{
cat(ceros[i])
cat(" es maximo\n")
}
i<-i+1
}




 		 	   		  
_________________________________________________________________
[[elided Hotmail spam]]

	[[alternative HTML version deleted]]

