注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

碧空雄鹰的博客

人和人相遇,靠的是一种缘;人和人相处,靠的是一份诚;人和人相爱,靠的是一份真

 
 
 

日志

 
 
关于我

人生有三样东西是无法隐瞒的:咳嗽、贫穷和爱,你想隐瞒,却欲盖弥彰。 人生有三样东西是不该挥霍的:身体、金钱和爱,你想挥霍,却得不偿失。 人生有三样东西是无法挽留的:生命、时间和爱,你想挽留,却渐行渐远。 人生五靠: 命运不是靠时间,而是靠勤奋,时间不是靠虚度,而是靠使用,感情不是靠缘分,而是靠珍惜,金钱不是靠使用,而是靠投资,事业不是靠满足,而是靠踏实。 人生三大遗憾 : 不会选择,不坚持选择,不断地选择。

线性回归算法-C语言版  

2013-05-12 16:24:12|  分类: C代码示例 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/*回归方程:y=ax+b,其中a代表斜率,b代表截距,对数组中n1到n2范围段内的数据进行线性回归。
a[0]:存放斜率a,a[1]存放截距b。n1:范围段内的第一个点在数组中的位置(元素下标),n2:范围段内的最后一个点在数组中的位置(元素下标),x[],y[]分别代表存放横轴自变量和纵轴因变量数据的数组,RR[0]存放相关系数R的平方*/
//这是本人亲自编写的算法,与excel中的算法相同
void GetCoefficient(float x[],float y[],int n1,int n2,float a[2],float RR[1])
{
  //分别代表 ∑Xi, ∑Yi, ∑(XiYi)、∑(Xi*Xi), ∑(Yi*Yi), ∑Xi*∑Yi, (∑X)*(∑X), (∑Y)*(∑Y)
  float SumX=0,SumY=0,SumXY=0,SumXX=0,SumYY=0,SumXAndSumY,SumXAndSumX,SumYAndSumY;

  if(n1>n2) //如果n1比n2小,则交换二者数值,以保证n1<n2
  {
    int tmp;
    tmp=n1;
    n1=n2;
    n2=tmp;
  }

  for(int i=n1;i<=n2;i++) //此处根据实际情况可修改
  {
    SumX=SumX+x[i];         //SumX=∑xi
    SumY=SumY+y[i];         //SumY=∑yi
    SumXY=SumXY+x[i]*y[i];  //SumXY=∑(XiYi)
    SumXX=SumXX+x[i]*x[i];  //SumXX=∑(Xi*Xi)
    SumYY=SumYY+y[i]*y[i];  //SumYY=∑(Yi*Yi)
  }
  SumXAndSumY=SumX*SumY;    //SumXAndSumY= ∑Xi * ∑Yi
  SumXAndSumX=SumX*SumX;    //SumXAndSumX=(∑X)*(∑X)
  SumYAndSumY=SumY*SumY;    //SumYAndSumY=(∑Y)*(∑Y)

  if((n2-n1+1)*SumXX-SumXAndSumX)
  {
    a[0]=((n2-n1+1)*SumXY-SumXAndSumY)/((n2-n1+1)*SumXX-SumXAndSumX);  //斜率a
    a[1]=(SumY-a[0]*SumX)/(n2-n1+1);  //截距b
  }
  if(((n2-n1+1)*SumXX-SumXAndSumX)*((n2-n1+1)*SumYY-SumYAndSumY))//计算相关系数R的平方
    RR[0]=((n2-n1+1)*SumXY-SumXAndSumY)*((n2-n1+1)*SumXY-SumXAndSumY)/(((n2-n1+1)*SumXX-SumXAndSumX)*((n2-n1+1)*SumYY-SumYAndSumY));//R平方
}

  评论这张
 
阅读(486)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018