二元最小二乘C语言代码
时间: 2023-07-10 19:09:18 浏览: 103
嵌入式C语言代码规范1
以下是一个简单的二元最小二乘 C 语言代码示例:
```c
#include <stdio.h>
#include <math.h>
#define N 5 // 数据点数量
int main() {
int i;
double x[N] = {1.0, 2.0, 3.0, 4.0, 5.0}; // x 坐标
double y[N] = {6.0, 7.0, 8.0, 10.0, 11.0}; // y 坐标
double sum_x = 0.0, sum_y = 0.0, sum_xy = 0.0, sum_x2 = 0.0;
double a, b;
// 计算各项和
for (i = 0; i < N; 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("y = %.2lfx + %.2lf\n", b, a);
return 0;
}
```
代码中,我们首先定义了数据点的 x 和 y 坐标,然后计算了各项和。最后,根据公式计算了斜率和截距,并输出结果。注意,在计算斜率时,分母不能为 0,因此需要保证数据点的 x 坐标不完全相同。
阅读全文