Matlab 多项式拟合问题在张志涌《精通matlab6.5版》P151里有如下内容5.10.1.3多项式拟合的MATLAB实现 【*例5.10.1.3-1】实施函数拟合的较完整描述示例.在进行函数拟合时,有几个问题要回答:(1)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 18:30:31
Matlab 多项式拟合问题在张志涌《精通matlab6.5版》P151里有如下内容5.10.1.3多项式拟合的MATLAB实现 【*例5.10.1.3-1】实施函数拟合的较完整描述示例.在进行函数拟合时,有几个问题要回答:(1)

Matlab 多项式拟合问题在张志涌《精通matlab6.5版》P151里有如下内容5.10.1.3多项式拟合的MATLAB实现 【*例5.10.1.3-1】实施函数拟合的较完整描述示例.在进行函数拟合时,有几个问题要回答:(1)
Matlab 多项式拟合问题
在张志涌《精通matlab6.5版》P151里有如下内容
5.10.1.3多项式拟合的MATLAB实现
【*例5.10.1.3-1】实施函数拟合的较完整描述示例.
在进行函数拟合时,有几个问题要回答:(1)采用什么函数模型?(2)模型的结构参数是什么?(3)参数的估计值如何计算?(4)估计参数的离差?
本例采用多项式模型,模型阶数(结构参数)通过 量确定,多项式系数运用最小二乘估计,并给出相应的离差.具体如下.
%被拟合的原始数据
x=0:0.1:1;y=[2.1,2.3,2.5,2.9,3.2,3.3,3.8,4.1,4.9,5.4,5.8];
dy=0.15;%原数据y的标准差
for n=1:6%依次用1到6阶多项式去拟合
[a,S]=polyfit(x,y,n);%计算拟合多项式系数
A{n}=a;%用元胞数组记录不同阶次多项式的系数
da=dy*sqrt(diag(inv(S.R'*S.R)));%计算各系数的误差
DA{n}=da';%用元胞数组记录不同阶次多项式系数的误差
freedom(n)=S.df;%记录自由度
[ye,delta]=polyval(a,x,S);%计算拟合多项式值的范围
YE{n}=ye;%用元胞数组记录不同阶次拟合多项式的均值
D{n}=delta;%用元胞数组记录不同阶次拟合多项式的离差
chi2(n)=sum((y-ye).^2)/dy/dy;%计算不同阶次的 量.
end
Q=1-chi2cdf(chi2,freedom);%用于判断拟合良好度
%适当度的图示
subplot(1,2,1),plot(1:6,abs(chi2-freedom),'b')
xlabel('阶次'),title('chi 2与自由度')
subplot(1,2,2),plot(1:6,Q,'r',1:6,ones(1,6)*0.5)
xlabel('阶次'),title('Q 与0.5 线')
dy=0.15;是如何得出的?或者是什么含义啊!这个在程序中好像很重要啊!

Matlab 多项式拟合问题在张志涌《精通matlab6.5版》P151里有如下内容5.10.1.3多项式拟合的MATLAB实现 【*例5.10.1.3-1】实施函数拟合的较完整描述示例.在进行函数拟合时,有几个问题要回答:(1)
dy应该是已知条件,原数据y的标准差,即y中的每一个点的测量误差,用它来估算拟合系数的误差