//point.h
class Point //Point类的声明
{
public: //外部接口
Point(float xx=0, float yy=0) {X=xx;Y=yy;}
float GetX() {return X;}
float GetY() {return Y;}
friend float linefit(Point l_point[], int n_point); //友元函数
//int型变量为点数
private: //私有数据成员
float X,Y;
};
//End of point.h

//main.cpp
#include<iostream>
#include<cmath>
#include "point.h"
using namespace std;
float linefit(Point l_point[], int n_point) //友元函数体
{
float av_x,av_y; //声明变量
float L_xx,L_yy,L_xy;
//变量初始化
av_x=0; //X的平均值
av_y=0; //Y的平均值
L_xx=0; //Lxx
L_yy=0; //Lyy
L_xy=0; //Lxy
for(int i=0;i<n_point;i++) //计算X、Y的平均值
{
   av_x+=l_point[i].X/n_point;
   av_y+=l_point[i].Y/n_point;
}
for(i=0;i<n_point;i++) //计算Lxx、Lyy和Lxy
{
   L_xx+=(l_point[i].X-av_x)*(l_point[i].X-av_x);
   L_yy+=(l_point[i].Y-av_y)*(l_point[i].Y-av_y);
   L_xy+=(l_point[i].X-av_x)*(l_point[i].Y-av_y);
}
cout<<"This line can be fitted by y=ax+b."<<endl;
cout<<"a="<<L_xy/L_xx; //输出回归系数a
cout<<" b="<<av_y-L_xy*av_x/L_xx<<endl; //输出回归系数b
return float(L_xy/sqrt(L_xx*L_yy)); //返回相关系数r
}

int main()
{
Point l_p[10]={Point(6,10),Point(14,20),Point(26,30),
   Point(33,40),Point(46,50),Point(54,60),Point(67,70),
   Point(75,80),Point(84,90),Point(100,100)}; //初始化数据点
float r=linefit(l_p,10); //进行线性回归计算
cout<<"Line coefficient r="<<r<<endl; //输出相关系数
}

最小二乘法拟合直线 c++程序相关推荐

  1. matlab直线拟合的程序,MATLAB最小二乘法拟合直线的程序

    最小二乘法拟合直线 程序: function linear_fit %最小二乘法拟合直线clear; clc; prompt={'Name of data file'}; title='Linear_ ...

  2. C++:最小二乘法拟合直线

     原理: 代码: #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp>using names ...

  3. Python实现最小二乘法拟合直线(求斜率截距)

    利用最小二乘法拟合直线,实现了对一系列点拟合出其最接近的直线,并给出公式,包括斜率和截距.并且绘制出最终拟合线. 完整代码如下: # 核心代码,求斜率w,截距b def fit(data_x, dat ...

  4. 最小二乘法拟合直线 C++/OpenCV

    问题: 我们在拥有一系列散列的点(x1,y1),(x2,y2)... (xm,ym),这些点在一条直线附近,通过点拟合直线. 我在工程中是要拟合一系列线段,其实一条线段就对应着两个要拟合的点,算法上稍 ...

  5. 最小二乘法拟合直线簇交点及Ransac拟合

    最小二乘法拟合直线簇交点及Ransac拟合 最小二乘法的实现 Ransac优化 语言环境:Python 直线簇方程: y=p→+v→∗ty=\overrightarrow p+\overrightar ...

  6. opencv学习——最小二乘法拟合直线

    最小二乘法拟合直线 概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理 假设有点  , I = 1,2 ...

  7. C++opencv实现最小二乘法拟合直线和平面

    使用opencv中的Mat实现用矩阵的方式根据最小二乘法拟合直线和平面方程,但是好像不能实现拟合斜率无穷大的直线和平面方程,后续再改进吧. 有关于原理部分,有时间再详细写一下. #include &q ...

  8. C++:最小二乘法 拟合直线

    分享给有需要的人,代码质量勿喷. 一.y = k * x + b bool xjLeastSquares::xjFitLineByLeastSquares( std::vector<double ...

  9. 最小二乘法拟合直线——MATLAB和Qt-C++实现

    本节Jungle用C++实现最小二乘法拟合平面直线. 1.理论知识 平面直线的通用方程可以表示为 A+Bx-y=0 其中,A是直线的截距,B是直线的斜率.对于测量的二维坐标(x,y),x是精确分布的, ...

最新文章

  1. watch监听对象里面值的变化_Vue总结——computed和watch的用法和区别
  2. java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
  3. 深入揭示Web 2.0核心技术——混搭
  4. 在SQL Server 20005中修改存储过程
  5. android内核模块签名,android安装内核module,提示Required key not available
  6. sqlserver计算时间差DATEDIFF 函数
  7. leecode5 最长回文子串
  8. koa2-cookie-session
  9. linux-优化内核参数 /etc/sysctl.conf
  10. 浅谈集群、分布式、微服务的异同
  11. 话里话外:明白比智慧更重要
  12. PyTorch1.4安装-进入官网安装时最靠谱的
  13. 270 扩展固态硬盘_希捷硬盘白送3年原厂数据恢复!成功率高达90
  14. 关于U盘物理读写锁失效解决(只读状态):工具解锁或U盘量产
  15. 深度学习在OCR中的应用
  16. 考点图文详解 - 网络管理(第十一章)
  17. 最全Python绘制饼形图(饼状图)
  18. SAP 银企直连交易明细查询的分页与FTP读取
  19. 微信公号开发之图文消息全攻略
  20. 爱奇艺qsv视频下载后怎么转换为3gp格式

热门文章

  1. Inception-v4,Inception-ResNet论文笔记
  2. python和ui设计,PySide2相当于PyQt5的loadUiType(),用于在UI设计中动态混合
  3. js 难点之call,apply实现
  4. linux的定cron计划任务命令
  5. EasyDarwin开源流媒体服务器如何实现按需推送直播的
  6. jQuery进行DOM操作记录
  7. 从C语言中的指针看C#中委托
  8. C# 字符串格式化测试小工具
  9. flutter NestedScrollView 下拉刷新的解决方案一
  10. Mr.J-- jQuery学习笔记(三十)--属性操作方法(添加删除)