最小二乘法.cpp

来自「大家请多指教!!!挺不错的哦!」· C++ 代码 · 共 42 行

CPP
42
字号
#include<iostream.h>
#include<math.h>
#include<stdio.h>
void main()
{   int n,i;
    double x1=0,u1=0,xu1=0,xx1=0,A,B,a,b;
	double x[100],y[100],u[100],xu[100],xx[100];

	cout<<"输入数据组数:";
	cin>>n;
	for( i=0;i<n;i++)
    {   cout<<"x["<<i<<"]=";
		cin>>x[i];
		cout<<"y["<<i<<"]=";
		cin>>y[i];
	}
	  
	for( i=0;i<n;i++)
	{   u[i]=log(y[i]);
        xu[i]=x[i]*u[i];
        xx[i]=x[i]*x[i];
	}

	for( i=0;i<n;i++)
	{   x1=x1+x[i];
	    u1=u1+u[i];
		xu1=xu1+xu[i];
		xx1=xx1+xx[i];
	}


A=(u1*xx1-x1*xu1)/(n*xx1-x1*x1);
B=(n*xu1-u1*x1)/(n*xx1-x1*x1);

a=exp(A);
b=B;


	
	
cout<<"y= "<<a<<"e ^"<<b<<" x"<<endl;		
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?