求助:如何将离散的点用平滑曲线画出来?

fengbingchun
博客专家认证
2011-09-22 09:23:42
有一些点,如x坐标为1,2,3...100;对应的y值为23,56,8,12,43,56,78,432,23,445...;总共有100个点对,如果直接连起来会很不平滑。
有什么办法可以得到平滑曲线呢,即得到新的对应的y值?matlab中有smooth函数可以实现此功能,如何用c++实现呢?
望高手指点,谢谢
...全文
563 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbe_sedm 2013-01-06
  • 打赏
  • 举报
回复
看看这个是不是你想要的: https://github.com/pbesedm/smooth_curve
fengbingchun 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhao4zhong1 的回复:]
搜“最小二乘法”?
[/Quote]

谢谢!
赵4老师 2011-09-22
  • 打赏
  • 举报
回复
搜“最小二乘法”?
kongbei312 2011-09-22
  • 打赏
  • 举报
回复
插值,呵呵
fengbingchun 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dizuo 的回复:]
bspline
找个B样条曲线类,把这些点添加进去,然后绘制即可!
[/Quote]

谢谢!
fengbingchun 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q191201771 的回复:]
标准库中没有吧
要么自己实现算法
要么用第三方库
[/Quote]

谢谢!好像没有,第三方库是?
ww884203 2011-09-22
  • 打赏
  • 举报
回复
自己写的话就用插值的方法吧
ryfdizuo 2011-09-22
  • 打赏
  • 举报
回复
bspline
找个B样条曲线类,把这些点添加进去,然后绘制即可!
就想叫yoko 2011-09-22
  • 打赏
  • 举报
回复
标准库中没有吧
要么自己实现算法
要么用第三方库
radiohead001 2011-09-22
  • 打赏
  • 举报
回复
插值,插值,还得凑字数
走好每一步 2011-09-22
  • 打赏
  • 举报
回复
希望楼主明白,这不是c++问题,这是数学问题。
fengbingchun 2011-09-22
  • 打赏
  • 举报
回复
也许我以前说的不清楚:
原始数据的图为:

平滑后的图为:

x坐标依次为0、1、2、3、4...一直到255,一个x坐标对应一个相应的y值,共256个点对。
用matlab的smooth函数即可实现,即平滑后的结果图。如果用c++该如何实现呢?
谢谢!

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧