大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以直接在线进行拟合,下面是地址(已验证)
创新互联-专业网站定制、快速模板网站建设、高性价比明山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式明山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖明山地区。费用合理售后完善,十年实体公司更值得信赖。
建议你直接对数据用Matlab的cftool拟合(可以自由的自定义拟合函数形式)
首先你要知道最小二乘法的公式,然后使用数组实现。比如定义数组double x[10]代表十个横坐标,double y[10]代表纵坐标,然后套公式用循环计算
#include iostream
using namespace std;
const int MAXNUM = 3;
int main()
{
double x[MAXNUM],y[MAXNUM];
double sumx=0,sumy=0,sumxy=0,sumxx=0;
double a,b;
int i;
cout"输入"MAXNUM"组样本:";
for (i=0;iMAXNUM;i++)
{
cinx[i]y[i];
sumx += x[i];
sumy += y[i];
sumxy = x[i]*y[i];
sumxx = x[i]*x[i];
}
double averagex,averagey;
averagex = sumx/MAXNUM;
averagey = sumy/MAXNUM;
b = (sumxy - MAXNUM*averagex*averagey)/(sumxx - MAXNUM*averagex*averagex);
a = averagey - b*averagex;
cout"线性拟合曲线为:y="a"+"b"*y\n";
return 0;
}
拟合直线之后会有一个拟合结果表,在这个表里有直线的方程,斜率值(slop),截距值(intercept),以及这些值的误差(error),和拟合结果的r^2(越接近于1,表明拟合结果越好)。
如果没有看到这个表,那么点击菜单栏上的view
-
results
log,就能看到了。
1、通过一些点拟合出一条直线。
2、参数:pt_input指向传入的点的指针。
3、ptNumbers传入的点数量。
4、k指向拟合直线参数k的指针。
5、b指向拟合直线参数b的指针。