2017-10-08 3 views

Répondre

0

En fonction de vos objectifs, l'optimisation peut être le plus rapide et plus facile comme solution de rechange à

calculate <- function(x){ 
    A <- matrix(c(1 ,2 ,x), nrow = 1) 
    B <- matrix(c(1, 2, 3, 4, 5, 2, 6, 2, 1), nrow = 3) 
    C <- matrix(c(1, 2, x), nrow = 3) 
    return(abs(A %*% B %*% C - 1)) 
} 


optimize(calculate, c(-100, 100)) 
+0

Merci pour votre aide. J'ai essayé votre code et cela a fait ce que je veux. Savez-vous où je peux en savoir plus sur ce genre de problèmes? – zecoves

+0

La fonction 'optimize' et son frère' optim' ne font pas d'alg'ebre matricielle - ils recherchent simplement des minima et des maxima dans des fonctions arbitraires'a travers des itérations. Si vous n'avez pas besoin de solutions formellement résolues mais juste bonnes, vous pouvez faire beaucoup en lisant 'help (optimize)' et 'help (optim)'. Ensuite, vous pouvez lire beaucoup plus ici: https://www.is.uni-freiburg.de/ressourcen/computational-economics/5_OptimizationR.pdf Il y a aussi une TaskView sur l'optimisation https://cran.r-project.org /web/views/Optimization.html Si cela correspond à ce que vous vouliez, vous pourriez envisager d'accepter la réponse. – Bernhard

+0

Merci. Vous me donnez beaucoup de nouvelles informations pour moi. Les diapositives sont très utiles. Tu m'aides beaucoup. – zecoves