【发布时间】:2014-05-31 23:34:53
【问题描述】:
虽然我最初的问题更笼统,但为了使事情更全面,我仅在下面制定其部分案例, - 我希望它的解决方案/答案将作为更普遍问题的答案。
问题:
- 在区间 (0 ,1) ?
非常感谢您的任何想法!
P.S.:请不要试图用数学方法解决问题或简化表达式(例如,用泰勒展开来近似结果,无论如何),因为它不是主要主题(但是,我试图选择这样的例子,不应该有任何简单的转换)
P.S.2:原始问题(此处不需要答案,因为预计已发布问题的答案对原始问题有效):
如果在 R 中可以创建具有任意长表达式的函数(避免“手动”定义)。例如,很容易手动设置 n=5 的给定函数:
f<-function(x) {
((((x^x)^x)^x)^x)^x
}
但是如果 n=1'000 或 1'000'000 呢? 看来这里不适合简单循环了……
【问题讨论】:
-
在同一天在 SO 和 Rhelp 上交叉发布被认为是不好的形式。
-
foo <- function(f, x, n) Reduce(f, rep(x, n))有用吗?其中foo("^", 2, 3)计算2^2^2。如果这就是您的意思,我可以将其发布为答案。 -
@flodel:我认为它实际上应该是
(2^2)^2(对于x=2,恰好也是2^2^2)。 -
@flodel:谢谢你的想法,也许,我不得不提到已经考虑过
和简单的 循环方法。但是对于这两种方法,我只能在给定输入值的情况下计算函数的值。这就是为什么在发布的问题中我要求积分。例如,如果我有 fun <- function(x) Reduce("+", rep(x, 5) ),那么integrate(fun, 0, 1)将产生错误消息:evaluation of function gave a result of wrong length。也许我做错了什么,所以,也许你的集成解决方案会完全回答我的问题。谢谢