#include<bits/stdc++.h>
using namespace std;
typedef pair<double,double> llp;
int main() {
vector<llp> experimental_data;
vector<double> xx,xy;
double sumx = 0, sumy = 0, x, y,a;
int n;
cout<<"请输入共有几组数据 n:";
cin>>n;
cout<<endl;
cout<<"请依次输入xi yi"<<endl;
for (int i = 1; i <= n; i++) {
printf("第 %d 组:",i);
cin >> x >> y;
experimental_data.push_back({x,y});
sumx += x;
sumy += y;
cout<<endl;
}
system("cls");
cout<<"做的很好!以下是您要的表格"<<endl;
printf("———————————我是分界线—————————————\n");
for (int i = 0; i < n; i++) xx.push_back(experimental_data[i].first*experimental_data[i].first);
for (int i = 0; i < n; i++) xy.push_back(experimental_data[i].second*experimental_data[i].first);
printf(" 序号 | x | y | x^2 | x*y |\n");
for (int i = 0; i < n; i++)
printf("第 %d 组 %.3f %.3f %.3f %.3f\n",i+1,experimental_data[i].first,experimental_data[i].second,xx[i],xy[i]);
x = y = 0;
for (int i = 0; i <n; i++) {
x += xx[i];
y += xy[i];
}
sumx/=n*1.0;sumy/=n*1.0;x/=n*1.0;y/=n*1.0;
a=(sumx*sumy-y)/(sumx*sumx-x);
printf("平均值 %.3f %.3f %.3f %.3f\n",sumx,sumy,x,y);
printf("—————————————————————————————————\n");
printf("斜率a=%.3f /%.3f=%.3f\n",sumx*sumy-y,sumx*sumx-x,a);
printf("截距b= %.3f - %.3f * %.3f=%.3f\n",sumy,a,sumx,sumy-a*sumx);
printf("回归方程:y= %.3f x + %.3f" ,a,sumy-a*sumx);
return 0;
}
蒟蒻求求回归曲线求麻了,写个小程序画表格
最新推荐文章于 2025-03-25 19:53:59 发布
这篇文章展示了如何使用C++编写代码,处理实验数据,计算并输出数据的x和y值、平方值、乘积以及进行线性回归分析,包括求斜率和截距,最终得到回归方程。

7980

被折叠的 条评论
为什么被折叠?



