%%%1.拟合问题:(做预测,主要使用的范围是样本比较小,拟合效果会好,样本比较多,拟合的效果就不是很好)
1.应用预测的场景:已经知道10年的样本,预测第11年以内的数据
2.用拟合的到关系式:样本数据的不到准确的关系式,那么采用拟合得到关系式在往下进行
%%总结:插值主要是用于求函数值。而拟合主要是求函数关系,从而进行预测等进一步分析%%
%%%2.拟合计算:
通常需要解决两个问题:(1).线型的选择
%线型的选择,通常根据分析和散点图确定线型
(2).线型中参数的计算
%参数计算可采用最小二乘法,而非线型参数计算则要应用Gauss-Newton迭代法
高斯 牛顿
%%%3.多项式拟合:
(1).MATLAB中多项式拟合命令格式为:[a,s]=polyfit(x,y,n)
%(x,y)-已知坐标
%n-拟合多项式的次数
%a-拟合多项式的系数所构成的向量
%s-分析拟合效果(一般都省略)
程序实现: %polyval:多项式计算求值函数
x=1:12;
>> y=[5,8,9,15,25,29,31,30,22,25,27,24];%x,y已知坐标
>> a=polyfit(x,y,9);%9次多项式拟合
>> xp=1:0.1:12;%要求值所对应的x轴坐标
>> yp=polyval(a,xp);%利用9次多项式拟合出来的方程对所取x轴上的值进行计算
>> plot(x,y,'k',xp,yp,'r');%绘图
(2).a=polyfit(x,y,m) %根据已知坐标拟合出相对逼近的方程关系式
%结果返回m次拟合多项式系数,从高次到低次存放到向量a中
y=a(0)*x^m+a(1)*x^m-1+…+a(n)
根据拟合出来的方程,在进行预测
'(3).'非线性拟合:格式为:[b,r]=polyfit(x,y,fun,bo,option)
%fun-拟合函数
%b0-拟合参数的初始值
%option-拟合选项
%b-拟合参数
%r-拟合残差
''已知现存几种典型函数:(1).幂函数:y=a*x^b
(2).指数函数:y=a*exp(b*x)
(3).双曲线函数:y=x/(a*x+b)
(4).对数函数:y=a+b*log(x)
(5).指数函数:y=a*exp(b/x)
(6).S形曲线:y=1/(a+b*exp(-x))
(7).正弦曲线逼近函数:y=a*sin(b*x+c)
第一步:输入已知x,y坐标
第二步:根据已知坐标的散点图,确定逼近函数
第三步:确定函数模型中未知的参数
第四步:求解未知参数并得到函数具体形式
第五步:绘图
%%%4.MATLAB中拟合工具箱:在命令窗口键入cftool即可启动拟合工具箱