R语言入门——均差表的制作
Posted 统计学小王子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言入门——均差表的制作相关的知识,希望对你有一定的参考价值。
目录
0引言
牛顿插值多项式的构造在增加新的点时不需要重新构造插值基函数,但是每新增一个已知插值点都够造的均差是比较麻烦的,根据均差的性质可以构造插值表简单的计算每一阶需要的均差。本文编写函数构造均差表,只需要输入插值点和插值函数值两列就可以输出所需要的均差表。最后和使用时均差的性质计算的结果做比较.
1、函数构造
1.1均差表
MT <- function(x, y)
n <- length(x)
mt <- cbind(x, y)
for(i in 1:(n-1))
m <- diff(y)/diff(x,i)
mt <- cbind(mt,c(rep(NA,i),m))
y <- m
return(mt)
1.2 性质
property <- function(x, y)
M <- diag(rep(1, length(x))) + matrix(unlist(lapply(x, function(t) t - x)), length(x), length(x))
sum(y / apply(M, 2, function(x) prod(x)))
2、函数的调用
> x <- c(.4,.55,0.596,.65,.80,.9)
> y <- c(0.41075,0.57815,0.63192,0.69675,0.88811,1.02652)
> MT(x, y)
x y
[1,] 0.400 0.41075 NA NA NA NA NA
[2,] 0.550 0.57815 1.116000 NA NA NA NA
[3,] 0.596 0.63192 1.168913 0.2699645 NA NA NA
[4,] 0.650 0.69675 1.200556 0.3164251 0.1858425 NA NA
[5,] 0.800 0.88811 1.275733 0.3685185 0.2083736 0.05632785 NA
[6,] 0.900 1.02652 1.384100 0.4334667 0.2136452 0.01506181 -0.08253207
> property(x[1], y[1])
[1] 0.41075
> property(x[1:2], y[1:2])
[1] 1.116
> property(x, y)
[1] -0.08253207
可以看出使用性质和均差表做出的结果是一致的.
3、总结
希望可以帮助大家提高R水平。
水平有限发现错误还望及时评论区指正,您的意见和批评是我不断前进的动力。
以上是关于R语言入门——均差表的制作的主要内容,如果未能解决你的问题,请参考以下文章