用C语言写一个最小二乘法
时间: 2023-12-29 19:44:52 浏览: 59
最小二乘法拟合_C语言_拟合_最小二乘法_
5星 · 资源好评率100%
最小二乘法是一种数学优化方法,用于寻找一组数据的最佳拟合曲线。以下是用C语言实现最小二乘法的代码示例:
```
#include <stdio.h>
#include <math.h>
int main()
{
int n, i;
double x[100], y[100], sum_x = 0, sum_y = 0, sum_xy = 0, sum_x2 = 0, a, b;
printf("Enter the number of data points: ");
scanf("%d", &n);
printf("Enter the data points (x,y): ");
for(i=0; i<n; i++)
{
scanf("%lf %lf", &x[i], &y[i]);
sum_x += x[i];
sum_y += y[i];
sum_xy += x[i]*y[i];
sum_x2 += x[i]*x[i];
}
b = (n*sum_xy - sum_x*sum_y) / (n*sum_x2 - sum_x*sum_x);
a = (sum_y - b*sum_x) / n;
printf("The equation of the best fit line is y = %.2lf + %.2lf x\n", a, b);
return 0;
}
```
让用户输入数据点的数量和每个数据点的 x 值和 y 值,然后计算最小二乘法的系数 a 和 b,最后输出最佳拟合曲线的方程式。
阅读全文