曲线拟合
综述
为什么要曲线拟合呢。由于我们的数据总归是有限的,我们无法做到我们的模拟出来的数据满足每个点,因而我们需要做的是拟合出这样一条曲线,使它的代价最小即可。其实这和机器学习很像,该拟合也可以用正规方程来解的。
误差分析
公式推导
而在运用来求拟合直线时,我们可以这么看待公式
指数函数的拟合
这里指数函数的底数默认为e
在处理如y=Ceax形式的指数时,我们可以取对数,将式子写作lny=ax+lnc,那么我们令Y=lny,b=lnc即可写作拟合直线的式子Y=ax+b,这是再将我们的数据进行线性化为(x,lny)即可按照拟合直线的方法来做了。
例题
【问题描述】根据N个数据点构造最小二乘拟合直线y=ax+b。
【输入形式】在屏幕上依次输入数据点的个数N,和N对数据点的x和y坐标。
【输出形式】输出最小二乘拟合直线y=ax+b和误差。
【样例1输入】
8
-1 10
0 9
1 7
2 5
3 4
4 3
5 0
6 -1
【样例1输出】
y=-1.60714x+8.64286
1.18019
【样例1说明】
输入:有8对数据点,后续每行是一对数据点的x和y坐标。
输出:最小二乘拟合直线为y=-1.60714x+8.64286,误差(norm2范数,即欧式距离)为1.18019,如果有多位小数,则保留6位有效数字。
【评分标准】根据输入得到的输出准确
ACcode:
'''
Author