时间限制: 1 Sec 内存限制: 128 MB
题目描述
假设有一组观测数据(X,Y)=(Xi , Yi) ,i=1,2,3…m,(m<20),初步判断Y和X之间存在线性关系,如下图中左图所示。则X和Y之间的线性回归模型可表示为:y=wx+b,如果求得模型参数w和b,即可确定其数学模型。在此,基于均方误差最小化的“最小二乘法”确定其最佳模型参数,求解模型参数w和b的公式如下图中右图所示:
计算公式
请编写程序实现这一需求,其中主函数int main(void)已编写完成,需编写如下两个函数完成相应功能:
1) 为数组的每个元素赋值,要求其函数原型:
void input(double da[], int n);
2) 根据输入一组观测值,求解最佳模型参数w和b(保留2位小数,当w和b绝对值小于1e-3时,则w和b取0.0),要求其函数原型为:
void LeastSquare(double x[], double y[], int n, double *w, double *b);
测试用主函数及其它
可采用如下main(void)函数进行测试(只供参考,请勿提交):
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 20
void LeastSquare(double x[], double y[], int num, double *w, double *b);
void input(double dv