简单的曲线拟合

当遇到需要用函数表达自变量及因变量的关系时,往往会遇到许多不能直观地看出类似的函数关系式的情况,例如该组自变量和因变量

x (0:1:10)
y 13 15 57 15 12 16 15 18 98 44 11

PS:表格处的(0:1:10)是matlab的一种写法,表示从0到10以1为间距(步长),即0,1,2......10

将图像用plot函数画出即下图:

在这里插入图片描述
这。。。谁看得出来呀,显然不可能是简单的y=ax+b吧
所以接下来会用到polyfit这个函数

polyfit函数:示例

x=(0:1:10);
y=x.*x+2;
plot(x,y)
p=polyfit(x,y,3)  %polyfit(x,y,3)中的3为多项式最高次幂,在这里意为最高是3

得到结果:
在这里插入图片描述
即得到函数y= - 0.2422 x3 + 3.5845 x2 -11.2024 x + 25.7133

在这里是设置成多项式最高次数为3,因为polyfit函数其数学基础是最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值,所以无论设置多项式次数为多少,理论上得到的结果都是正确的

原文地址:https://www.cnblogs.com/MemoryDrive/p/13301644.html