拟合抛物线有关问题
拟合抛物线问题
已知一些二维点,个数可以确定,
用这些点拟合出一个开口向下抛物线,但是由于噪声等干扰使得我用最小二乘法拟合的抛物线可能会开口向上了,
怎么加入 a<0的条件?
------解决方案--------------------
本意是: 用这个 抛物线 y = -a^2*x^2 + b*x + c
再根据最小二乘法原理
∑(yi + a^2*xi^2 - b*xi -c)^2 分别对a、b、c求偏导,
解方程
不过细想一下,意义不大,如用y=a*x^2 + b*x + c拟合 得 a >0,
那么用 y = -a^2*x^2 + b*x + c 拟合 会得 a =0
建议:
1、 用用y=a*x^2 + b*x + c拟合
2、 如a > 0 则 用y=b*x + c拟合,剔除误差最大的点 回第一步
说实在话,拟合最需要根据具体问题分析,甚至人机对话方式去解决
------解决方案--------------------
即使用其他拟合算法(如三阶B样条),如果你噪声如此之大,你拟合出来的曲线也将严重背离物理系统的真实情况,这样可以拟合出曲线,但是不是你所想要的,正如你用抛物线拟合得到开口向上的曲线一样这是不可接收的
我觉得你还是看看
1. 必须增加采样点数
2. 必须过滤噪声(这要根据噪声特点来处理,不同系统处理方式不一样)
3. 手工去掉干扰点(这是物理测量中常用的方法,但是自动做起来可能会有难点)
已知一些二维点,个数可以确定,
用这些点拟合出一个开口向下抛物线,但是由于噪声等干扰使得我用最小二乘法拟合的抛物线可能会开口向上了,
怎么加入 a<0的条件?
------解决方案--------------------
本意是: 用这个 抛物线 y = -a^2*x^2 + b*x + c
再根据最小二乘法原理
∑(yi + a^2*xi^2 - b*xi -c)^2 分别对a、b、c求偏导,
解方程
不过细想一下,意义不大,如用y=a*x^2 + b*x + c拟合 得 a >0,
那么用 y = -a^2*x^2 + b*x + c 拟合 会得 a =0
建议:
1、 用用y=a*x^2 + b*x + c拟合
2、 如a > 0 则 用y=b*x + c拟合,剔除误差最大的点 回第一步
说实在话,拟合最需要根据具体问题分析,甚至人机对话方式去解决
------解决方案--------------------
即使用其他拟合算法(如三阶B样条),如果你噪声如此之大,你拟合出来的曲线也将严重背离物理系统的真实情况,这样可以拟合出曲线,但是不是你所想要的,正如你用抛物线拟合得到开口向上的曲线一样这是不可接收的
我觉得你还是看看
1. 必须增加采样点数
2. 必须过滤噪声(这要根据噪声特点来处理,不同系统处理方式不一样)
3. 手工去掉干扰点(这是物理测量中常用的方法,但是自动做起来可能会有难点)