2015-11-08 3 views
3

Я пытаюсь проблему, но сначала я должен построить в rКак построить функцию продукта в R?

(x+1)(x+2)...(x+n), 

с n быть фиксированным числом.

Любая идея, как создать эту процедуру?

+0

Это всего лишь $ N $ умножить на дробь ... –

+0

да, но это не так легко мне в R –

+0

Ну ваш вопрос не совсем понятно. Я понятия не имел, чего вы на самом деле хотите. Почему в формуле нет индекса $ i $? –

ответ

1

Вы хотите что-то вроде этого?

f <- function(x, n) { 
    return(prod(1/(x+(1:n)))) 
} 
+1

Это не будет отображаться напрямую, используя 'curve', например, потому что это не векторизация. – whuber

4

При условии x больше -1, то это может быть наиболее эффективно вычислен путем использования отношения

(x + 1)*(x + 2)* ... *(x + n) = Gamma(x+n+1)/Gamma(x+1). 

гамм вычисляются внутри с точки зрения их логарифмов, поэтому использовать эти журналы в виде lgamma:

f <- function(x, n) exp(lgamma(x+n+1) - lgamma(x+1)) 

участок затем может быть получен с помощью curve, например, как в

curve(f(x,3), 0, pi) 

enter image description here

Смежные вопросы