ajout du fichier test-TP-Projet-Optinum.jl
This commit is contained in:
parent
bd14885acb
commit
49a4876bb8
38
src/test-TP-Projet-Optinum.jl
Normal file
38
src/test-TP-Projet-Optinum.jl
Normal file
|
@ -0,0 +1,38 @@
|
|||
#using Pkg; Pkg.add("LinearAlgebra"); Pkg.add("Markdown")
|
||||
# using Documenter
|
||||
using LinearAlgebra
|
||||
using Markdown # Pour que les docstrings en début des fonctions ne posent
|
||||
# pas de soucis. Ces docstrings sont utiles pour générer
|
||||
# la documentation sous GitHub
|
||||
include("Algorithme_De_Newton.jl")
|
||||
|
||||
# Affichage les sorties de l'algorithme des Régions de confiance
|
||||
function my_afficher_resultats(algo,nom_fct,point_init,xmin,fxmin,flag,sol_exacte,nbiters)
|
||||
println("-------------------------------------------------------------------------")
|
||||
printstyled("Résultats de : ",algo, " appliqué à ",nom_fct, " au point initial ", point_init, ":\n",bold=true,color=:blue)
|
||||
println(" * xsol = ",xmin)
|
||||
println(" * f(xsol) = ",fxmin)
|
||||
println(" * nb_iters = ",nbiters)
|
||||
println(" * flag = ",flag)
|
||||
println(" * sol_exacte : ", sol_exacte)
|
||||
end
|
||||
|
||||
# Fonction f0
|
||||
# -----------
|
||||
f0(x) = sin(x)
|
||||
# la gradient de la fonction f0
|
||||
grad_f0(x) = cos(x)
|
||||
# la hessienne de la fonction f0
|
||||
hess_f0(x) = -sin(x)
|
||||
sol_exacte = -pi/2
|
||||
options = []
|
||||
|
||||
x0 = sol_exacte
|
||||
xmin,f_min,flag,nb_iters = Algorithme_De_Newton(f0,grad_f0,hess_f0,x0,options)
|
||||
my_afficher_resultats("Newton","f0",x0,xmin,f_min,flag,sol_exacte,nb_iters)
|
||||
x0 = -pi/2+0.5
|
||||
xmin,f_min,flag,nb_iters = Algorithme_De_Newton(f0,grad_f0,hess_f0,x0,options)
|
||||
my_afficher_resultats("Newton","f0",x0,xmin,f_min,flag,sol_exacte,nb_iters)
|
||||
x0 = pi/2
|
||||
xmin,f_min,flag,nb_iters = Algorithme_De_Newton(f0,grad_f0,hess_f0,x0,options)
|
||||
my_afficher_resultats("Newton","f0",x0,xmin,f_min,flag,sol_exacte,nb_iters)
|
Loading…
Reference in a new issue