⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zui.cpp

📁 进行最小二乘法的实验处理工具
💻 CPP
字号:
//最小二乘法回归一次函数,数据个数不超过100
#include<iostream.h>
#include<math.h>
void main()
{
  int i=0,n=0;
  double x[100],y[100],x_=0,y_=0,xx_=0,sumx=0,sumy=0,sumxx=0;
  double sxy=0,sxx=0,syy=0,rxy=0,a0=0,a1=0,ua0=0,ua1=0,s=0;
  cout<<"输入数据组数:";
  cin>>n;
  cout<<"输入数据:x空格y"<<endl;
  for(i=0;i<n;i++)
  {
   cin>>x[i]>>ws>>y[i];  
   sumx+=x[i];
   sumy+=y[i];
   sumxx+=x[i]*x[i];
  }

  x_=sumx/n;
  y_=sumy/n;
  xx_=sumxx/n;

  for(i=0;i<n;i++)
  {
   sxy+=(x[i]-x_)*(y[i]-y_);
   sxx+=(x[i]-x_)*(x[i]-x_);
   syy+=(y[i]-y_)*(y[i]-y_);
  }

  a1=sxy/sxx;
  a0=y_-a1*x_;

  rxy=sxy/sqrt(sxx*syy);

  ua1=a1*sqrt((1/(rxy*rxy)-1)/(n-2));
  ua0=sqrt(xx_*xx_)*ua1;


  for(i=0;i<n;i++)
  cout<<"("<<x[i]<<","<<y[i]<<")"<<endl<<endl;
 cout<<"sxy="<<sxy<<endl;
 cout<<"sxx="<<sxx<<endl;
 cout<<"syy="<<syy<<endl;
 cout<<"a1="<<a1<<endl;
 cout<<"a0="<<a0<<endl;
 cout<<"rxy="<<rxy<<endl;
 cout<<"ua1="<<ua1<<endl;
 cout<<"ua0="<<ua0<<endl;

}

⌨️ 快捷键说明

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