打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R中如何使用三次样条插值(cubicsplineinterpolation)/使用polygon函数画位于两条线之间的阴影/po

R 中如何使用三次样条插值(cubic spline interpolation)/ 使用polygon函数画位于两条线之间的阴影/po

(2012-04-12 09:13:59)
标签:

杂谈

#file
#1 2
#3 2
#2 4
#。。。
#假设文件如上所示,是个两列的文件(原本文件有400行),也即是两个列向量,每个列向量的维数为400维
#列向量1:a[,1]
#列向量2:a[,2]

a=read.table("test2")
#插值,把原有的4个点,通过3次样条插值,变成1000个点
#spline(x,y,n=...)的x位置表示x的坐标,y位置表示y的坐标,n表示要插值成新的维数,当然这里可以提高维数也可以降低维数
#比如spline(c(1:400),a[,1],n=1000)表示要得到新的插值后的x,y的坐标,其中newa1x=spline(c(1:400),a[,1],n=1000)$x是要得到x的变成新维数后的坐标,newa1y新y坐标。
#也即是原有的a[,1]向量变成了newa1y=spline(c(1:400),a[,1],n=1000)$y对应的高维的向量,newa1x只是一个序列
newa1x=spline(c(1:400),a[,1],n=1000)$x
newa1y=spline(c(1:400),a[,1],n=1000)$y

#同理a[,2]
newa2x=spline(c(1:400),a[,2],n=1000)$x
newa2y=spline(c(1:400),a[,2],n=1000)$y

#这里是想画a[,1]和a[,2]围成的多边形
#这里需要把a[,1]和a[,2]两个向量连接起来,因为是要围成多边形,因此第一条线走到最后一个点的时候,要回转,就像顺时针写个“0”似的,因此在后面的向量要reverse,翻转一下
newxx=c(newa1x,rev(newa2x))
newyy=c(newa1y,rev(newa2y))

#先画个图,图中type=‘n’,表示不输出图像
plot(newxx, newyy, type="n", xlab="Time",ylab="Distance",ylim=c(0,2))
#这里画多边形
polygon(newxx, newyy, col="lightblue")
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Matlab中插值函数汇总和使用说明
插值
MATLAB插值与拟合(3)
插值与拟合matlab实现
MATLAB回归、插值、逼近、拟合总结
存在非线性效应怎么办?限制性三次样条(restricted cubic spline)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服