Funcion Maxdefun
' Función que demuestra una aplicación sencilla del algoritmo de Newton-Raphson
' Se trata de maximizar: f(x) = -0.5(x - 4)^2 + 6
' Esta función lee un valorinicial de x y devuelve un valor final x que maximiza la función
Dim xini As Double, xnext As Double, tole As Double
tole = 10 ^ -6
xini = z
contador = 0
' inicio de bucleDo
xnext = xini - (4 - xini) / (-1)
dist = Abs(xnext - xini)
xini = xnext
contador = contador + 1
Loop While dist > tole
maxdefunc0 = xnext
End Function
Functionmaxdefunc1(z As Double)
' Función que demuestra una aplicación sencilla del algoritmo de Newton-Raphson
' Se trata de maximizar: f(x) = -0.5(x - 4)^2 + 6
' Esta función lee la un valorinicial de x y devuelve tres cosas (valor óptimo de x, valor óptimo de f(x), Nro. de iteraciones)
Dim xini As Double, xnext As Double, tole As Double
tole = 10 ^ -6
xini = z
contador =0
'Inicio de bucle
Do
xnext = xini - (4 - xini) / (-1)
dist = Abs(xnext - xini)
xini = xnext
contador = contador + 1
Loop While dist > tole
xmax = xnextfuncmax = -0.5 * (xmax - 4) ^ 2 + 6
'Inicio de definición de vector de salida
Dim f1()
ReDim f1(1 To 1, 1 To 3)
f1(1, 1) = xmax
f1(1, 2) = funcmax
f1(1, 3) = contadormaxdefunc1 = f1
End Function
Function func6(x As Double)
' Aquí creamos la función a maximizar en el Ejercicio 17
' x es un número real cualquiera
func6 = 2 * x - 3 * x ^ 2 + 0.1 *x ^ 3 + 2
End Function
Function gradf(x As Double)
' Esta es la gradiente de la func6(x)
gradf = 2 - 6 * x + 0.3 * x ^ 2
End Function
Function hessf(x As Double)
'Estaes la hessiana de la func6(x)
hessf = -6 + 0.6 * x
End Function
Function maximizarfunc6(z As Double)
' Función que maximiza func6(x) utilizando Newton-Raphson
' Esta función lee...
Regístrate para leer el documento completo.