最小二乘法直线拟合

原创 2000年12月22日 03:13:00

//最小二乘法直线拟合
BOOL CalculateLineKB(CFoldPointList *m_FoldList,double &k,double &b)
{
 //最小二乘法直线拟合
 //m_FoldList为关键点(x,y)的链表
 //拟合直线方程(Y=kX+b)


 if(m_FoldList==NULL)return FALSE;
 long lCount=m_FoldList->GetCount();
 if(lCount<2)return FALSE;
 CFoldPoint *pFold;
 double mX,mY,mXX,mXY,n;
 mX=mY=mXX=mXY=0;
 n=lCount;
 POSITION pos=m_FoldList->GetHeadPosition();
 while(pos != NULL)
 {
  pFold=m_FoldList->GetNext(pos);
  mX+=pFold->X;
  mY+=pFold->Y;
  mXX+=pFold->X*pFold->X;
  mXY+=pFold->X*pFold->Y;
 }
 if(mX*mX-mXX*n==0)return FALSE;
 k=(mY*mX-mXY*n)/(mX*mX-mXX*n);
 b=(mY-mX*k)/n;
 return TRUE;
}

最小二乘法直线拟合及其Matlab实现

最小二乘法,通常用在我们已知数学模型,但是不知道模型参数的情况下,通过实测数据,计算数学模型,例如,在题目中,数学模型就是直线方程y=ax+b,但是不知道直线方程的a和b。     本来呢,我们只需...
  • cp32212116
  • cp32212116
  • 2014年12月10日 16:47
  • 10367

最小二乘法 拟合平面直线

前言:     最近要实现一个算法,“对一系列点拟合出一条线,且区分出不属于改线的点”。在网上找了许多资料,用数学公式解释原理以及用matlab实现的居多,本文章主要解释用最小二乘法的进行点拟合成线,...
  • ouyangying123
  • ouyangying123
  • 2017年01月03日 19:15
  • 3141

最小二乘法实现直线拟合

注解:原理和代码均非本人所创,代码转自:Ziv Yaniv 所写的ransac算法中的最小二乘法实现。 原理实现如下: 转载自:http://www.cnblogs.com/gnuhpc/arch...
  • jia_zhengshen
  • jia_zhengshen
  • 2014年01月23日 15:47
  • 2335

直线拟合之最小二乘法 Ax+By+C=0

最小二乘法拟合直线,对于大多数人都不是很陌生,直线方程 y=kx+b,令sum((y-kx-b)^2),分别对k和b求导便可求出最佳的参数,但是如果遇到诸如“X=5”这样的直线方程,又该如何呢?这时候...
  • linxue968
  • linxue968
  • 2014年02月25日 14:49
  • 3465

最小二乘法拟合直线 c++程序

//point.hclass Point //Point类的声明{public: //外部接口Point(float xx=0, float yy=0) {X=xx;Y=yy;}float GetX(...
  • passball
  • passball
  • 2009年05月21日 20:53
  • 5511

最小二乘法直线拟合(C++)

1.原理 在现实中经常遇到这样的问题,一个函数并不是以某个数学表达式的形式给出,而是以一些自变量与因变量的对应表给出,老师讲课的时候举的个例子是犯罪人的身高和留下的脚印长,可以测出一些人的数据然后...
  • dxy408460910
  • dxy408460910
  • 2013年12月12日 10:41
  • 1068

VC中实现最小二乘法 直线拟合 Y=a0+a1X 以及 Y=aX

用最小二乘法做直线拟合真的是非常简单,我随便写了一下并经过测试,需要使用的朋友随便改几个地方(例如变量名等)就可以用在自己的应用程序中了。在这里给出拟合直线Y=a0+a1X 以及Y=aX的例子。我写了...
  • learnhard
  • learnhard
  • 2007年07月06日 20:00
  • 4217

程序员数学——最小二乘法,线性拟合(一)

1.在工程中经常会遇到这种问题,通过AD采集获得一组电压(电流)数据x0, x1, x2, …, xn,这些电压数据所对应的物理数据为y0, y1, y2, …, yn,即有如下对应关...
  • linxing927
  • linxing927
  • 2016年07月07日 14:28
  • 391

利用最小二乘法进行线性拟合

对一系列输入点(x,y)进行线性拟合出的直线方程为: y = Ax + B,根据最小二乘法求出A,B的公式为: 代码实现: // *******************************...
  • lichengyu
  • lichengyu
  • 2013年01月13日 23:00
  • 14407

数值作业:最小二乘法进行线性拟合之C语言代码

作图法求出直线的斜率a和截据b,可以确定这条直线所对应的经验公式,但用作图法拟合直线时,由于作图连线有较大的随意性,尤其在测量数据比较分散时,对同一组测量数据,不同的人去处理,所得结果有差异,因此是一...
  • Chen_dSir
  • Chen_dSir
  • 2017年04月22日 13:02
  • 3309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最小二乘法直线拟合
举报原因:
原因补充:

(最多只允许输入30个字)