我是R环境的新手,希望了解另一个帖子中发布的代码。
Integrating over a PCHIP Function
1 > library(pracma)
2 > xs <- linspace(0, pi, 10)
3 > ys <- sin(xs)
4 > pchipfun <- function(xi, yi) function(x) pchip(xi, yi, x)
5 > f <- pchipfun(xs, ys)
6 > integrate(f, 0, pi)
我的问题如下:
第5行在第4行调用函数,但这不是传递x值。那么第4行如何取x值?
在上面的设置中,我想修改一下,如果x在pi / 6和&amp;之间。 pi / 4,函数应返回0,否则返回计算值。
提前致谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
我正在尝试以下代码
X<-c(-3,-1,2,5,7,10,13,15,18,21,23)*91/4
Y<-c(0,0,100,200,200,100,0,0,100,200,200)
myFun <- function(xi, yi) function(x){if (x<100) return (0); pchip(xi, yi, x)}
pcFun <-myFun(X ,Y)
curve(pcFun, 0,300)
给我错误:
曲线错误(pcFun,0,300):'expr'没有评估为 长度为'n'的对象另外:警告消息:在if(x <100)中 return(0):条件长度> 1,只有第一个元素 将被使用