对象数组 (线性拟合)
来源:互联网 发布:苹果电脑图片设计软件 编辑:程序博客网 时间:2024/06/05 10:42
1.先调用构造函数初始化
2.调用函数赋值
3.main函数结束后,自动调用析构函数。
线性拟合:
#include<iostream>#include<cmath>using namespace std;class Point{public: Point(float x=0,float y=0):x(x),y(y){} float getx() const {return x;} float gety() const {return y;}private: float x,y;};float lineFit(const Point points[],int npoint){ //对象数组,点数 float avgx=0,avgy=0; float lxx=0,lyy=0,lxy=0; for(int i=0;i<npoint;i++){ avgx+=points[i].getx()/npoint; avgy+=points[i].gety()/npoint; } for(int i=0;i<npoint;i++){ lxx+=(points[i].getx()-avgx)*(points[i].getx()-avgx); lyy+=(points[i].gety()-avgy)*(points[i].gety()-avgy); lxy+=(points[i].getx()-avgx)*(points[i].gety()-avgy); } cout<<"y=ax+b "<<endl; cout<<"a="<<lxy/lxx<<endl; cout<<"b="<<avgy-lxy*avgx/lxx<<endl; return static_cast<float>(lxy/sqrt(lxx*lyy));}int main(){ Point 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(p,10); cout<<"----"<<r<<endl; return 0;}
阅读全文
0 0
- 对象数组 (线性拟合)
- C++最小二乘法拟合-(线性拟合和多项式拟合)
- C++最小二乘法拟合-(线性拟合和多项式拟合)
- C++最小二乘法拟合-(线性拟合和多项式拟合)
- C++最小二乘法拟合-(线性拟合和多项式拟合)
- 最小二乘法详解(线性拟合与非线性拟合)
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- Matlab 线性拟合 & 非线性拟合
- 线性拟合和线性回归
- 线性拟合(最小二乘法)
- GSL线性拟合1
- LintCode: 最长上升连续子序列
- linux编辑器VIM
- PagerAdapter适配器
- 查找目录下所有文件中是否包含某个字符串
- CodeForces 116 A.Tram(水~)
- 对象数组 (线性拟合)
- 侧滑菜单
- 异步方式实现数据加载
- Python模块
- mysql将多个表的多个数据插入到同一张表
- 关于C# webservice的一些学习记录,供自己学习查阅.
- throw和throws的区别
- python编程练习之三——堆栈和系统管理雏形
- O(∩_∩)O暑假总结