VC++、C语言大神们,拉格朗日插值算法的龙格现象怎么破!多谢了!

耶耶儿 2015-02-07 02:07:41
目前编写VC++的MFC程序,实现将一个txt文档中的两列数据导入,然后对其进行拉格朗日插值,加密数据点再导出来。比如有两列数据:
3 5.3
4 9.1
5 5.4
......
拉格朗日插值后变成:
3 5.3
3.5 8.1375
4 9.1
4.5 8.1875
5 5.4
......
其中Y1、Y2为插值后计算得到的数值。目前对于数据点比较少的情况,能够得到较好的结果,但是对于数据点多的情况(比如200个数据),拉格朗日插值在两端边界点出现龙格现象,求解决,大神们!
帮忙理一下编程思路吧。多谢了!
...全文
460 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
耶耶儿 2015-02-12
  • 打赏
  • 举报
回复
引用 4 楼 grf9527 的回复:
其实还有一个更狠的法子。不过可能就要修改你的算法了。 直接使用神经元网络进行严格的曲线拟合。这个非常好,但是很慢,也很费劲。
多谢了。
grf9527 2015-02-11
  • 打赏
  • 举报
回复
其实还有一个更狠的法子。不过可能就要修改你的算法了。 直接使用神经元网络进行严格的曲线拟合。这个非常好,但是很慢,也很费劲。
grf9527 2015-02-11
  • 打赏
  • 举报
回复 1
这是个算法问题。 龙格的核心是误差放大。 首先,你都知道龙格了,当然也知道,不要进行高次差值。 其次,你差值的时候,要在真实的实验值中间插。 保证一个原则。如果这次的两端不是实验值,就不要插了。或者控制一个比例,那就是:加入要在a1,a2,a3,a4的a2和a3中间插,要检查一下,前后的数据有多少是实验值。如果比例小于一个百分比,就干脆停下。
耶耶儿 2015-02-08
  • 打赏
  • 举报
回复
高手们来指导一下吧
耶耶儿 2015-02-07
  • 打赏
  • 举报
回复
希望大家来讨论、指教一下。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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