首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >四点间曲线的插值法

四点间曲线的插值法
EN

Stack Overflow用户
提问于 2020-07-16 15:45:23
回答 1查看 138关注 0票数 0

我有四个已知的点,我试图运行一个平滑的曲线通过。

代码语言:javascript
复制
gg_xy=np.array([[-2.612,0],[0,1.6969999999999996],[0.5870000000000001,0],[0,-2.605]])
plt.plot(gg_xy[:,0],gg_xy[:,1],'ro')

ggx,ggy=splprep(gg_xy.T,u=None,s=0.0,per=1)
gg_xspline=np.linspace(ggy.min(),ggy.max(),300)
ggxnew,ggynew=splev(gg_xspline,ggx,der=0)
plt.plot(ggxnew,ggynew)
plt.show()

这是我的任务:

它在插值时遗漏了一个点。有人能帮我解决这个问题吗?除了使用样条插值,还有其他更好的方法吗?编辑:曲线必须是一个单一的连接回路。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-16 16:06:52

代码语言:javascript
复制
from scipy.interpolate import splprep, splev
import matplotlib.pyplot as plt
import numpy as np

gg_xy=np.array([[-2.612,0],[0,1.6969999999999996],
                [0.5870000000000001,0],[0,-2.605], [0,-2.605]])
plt.plot(gg_xy[:,0],gg_xy[:,1],'ro')

ggx,ggy=splprep(gg_xy.T,u=None,s=0.0,per=1)
gg_xspline=np.linspace(ggy.min(),ggy.max(),300)
ggxnew,ggynew=splev(gg_xspline,ggx,der=0)
plt.plot(ggxnew,ggynew)
plt.show()

医生:

per: int,可选

如果非零,则数据点被认为是周期为XM-1-x的周期点,并返回光滑周期样条逼近.不使用ym-1和wm-1的值。

看起来它忽略了最后一点,所以我重复了最后一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62938482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档