Как построить функцию продукта в R?

Я пытаюсь решить задачу, но сначала мне нужно построить график в r

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

где n является фиксированным целым числом.

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


person albert    schedule 08.11.2015    source источник
comment
Это всего в $n$ раз больше дроби...   -  person Martin Schmelzer    schedule 08.11.2015
comment
да, но мне нелегко в R   -  person    schedule 08.11.2015
comment
Ну не совсем ясен ваш вопрос. Я понятия не имею, чего ты на самом деле хочешь. Почему в формуле нет индекса $i$?   -  person Martin Schmelzer    schedule 08.11.2015
comment
Извините, произошла ошибка, это 1/(x+i)   -  person    schedule 08.11.2015


Ответы (2)


При условии, что 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)

введите здесь описание изображения

person whuber    schedule 08.11.2015

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

f <- function(x, n) {
  return(prod(1/(x+(1:n))))
}
person Martin Schmelzer    schedule 08.11.2015
comment
Например, это не будет построено напрямую с использованием curve, потому что оно не векторизовано. - person whuber; 08.11.2015