Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Bernstein多项式将平滑曲线拟合到R中的数据?_R_Smoothing_Polynomial Approximations - Fatal编程技术网

如何使用Bernstein多项式将平滑曲线拟合到R中的数据?

如何使用Bernstein多项式将平滑曲线拟合到R中的数据?,r,smoothing,polynomial-approximations,R,Smoothing,Polynomial Approximations,我知道有很多类似的问题,但我需要用伯恩斯坦多项式来解决这个问题 我试过这样的方法: library(pracma) train <- rnorm(100) test <- rnorm(50) eCDF <- ecdf(train) # squeeze eCDF support between 0 and 1 Fy <- function(y){ b <- max(train) a <- min(train) eCDF((b-a)*y+a) }

我知道有很多类似的问题,但我需要用伯恩斯坦多项式来解决这个问题

我试过这样的方法:

library(pracma)

train <- rnorm(100)
test <- rnorm(50)

eCDF <- ecdf(train)

# squeeze eCDF support between 0 and 1
Fy <- function(y){
  b <- max(train)
  a <- min(train)
  eCDF((b-a)*y+a)
}

m <- min(test)
M <- max(test)
# squeeze points between 0 and 1
x_to_y <- function(x) return ((x-m)/(M-m))

# polynomial order
k = 10

x <- x_to_y(test)

# bernstein Args: function to be approximated, order, points to estimates
y <- bernstein(Fy,k, x)

plot(x, y)
库(pracma)

试着创建一个可复制的例子,这样你就更有可能得到别人的帮助。现在应该没事了,谢谢。我不知道你在期待什么。如果键入
绘图(x,Fy(x))
然后键入
行(x,y)
,您可以清楚地看到
bernstein()
确实适合您的数据点。也许你期望函数也能返回Bernstein多项式的系数。可以考虑添加此功能,但目前没有。
lo <- loess(y~x)
plot(x,y)
lines(predict(lo), col='red', lwd=2)