Самый быстрый способ кодирования этой фитнес-функции? - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть уравнение, приведенное ниже в 1 . Мы пытаемся закодировать это в R, пытаясь затем вызвать его с помощью алгоритма geneti c. Веса (wi, wj) неизвестны и будут определены алгоритмом.

Какой самый быстрый способ закодировать это уравнение в R:

(Sum i = 1 (mu i wi)) / (sum i = 1 sum j = 1 (sigma ij wi wj ))

Изображение уравнения ниже 1

1 Ответ

0 голосов
/ 15 февраля 2020
mu <- c(4,7)
w <- c(2,3)
# numerator:
c(crossprod(mu,w))
# denominator
Sigma <- matrix(rpois(4, 10), ncol=2) # matrix of the sigma_{ij}
c(t(w) %*% Sigma %*% w)

Если вы хотите, чтобы это количество было функцией w:

f <- function(w, mu, Sigma){
  c(crossprod(mu,w)) / c(t(w) %*% Sigma %*% w)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...