一般情况下,采用最小方差原则。
采用ployfit()函数用最小二乘法对给定数据进行多项式拟合。
p = polyfit(x,y,n) 返回次数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(基于最小二乘指标)。p 中的系数按降幂排列,p 的长度为 n+1 [p,S] = polyfit(x,y,n) 还返回一个结构体 S,后者可用作 polyval 的输入来获取误差估计值。返回矩阵 S。 [p,S,mu] = polyfit(x,y,n) 执行中心化和缩放以同时改善多项式和拟合算法的数值属性。此语法还返回 mu,后者是一个二元素向量,包含中心化值和缩放值。mu(1) 是 mean(x),mu(2) 是 std(x)。使用这些值时,polyfit 将 x 的中心置于零值处并缩放为具有单位标准差
clear allclc x=[0.3 0.4 0.7 0.9 1.2 1.9 2.8 3.2 3.7 4.5];y=[1 2 3 4 5 2 6 9 2 7];p5=polyfit(x,y,5); %5阶多项式拟合y5=polyval(p5,x);p5=vpa(poly2sym(p5),5) %显示5阶多项式p9=polyfit(x,y,9); %9阶多项式拟合y9=polyval(p9,x); figure; %画图显示plot(x,y,'bo');hold on;plot(x,y5,'r:');plot(x,y9,'g--');legend('原始数据','5阶多项式拟合','9阶多项式拟合');xlabel('x');ylabel('y');
vpa -可变精度算法(任意精度算法),该MATLAB函数采用可变精度浮点算法 vpa(x)使用可变精度浮点算术(vpa)将符号输入x的每个元素求值为至少d位有效数字,其中d是数字函数的值。默认值为32位。vpa (x,d)使用至少d位有效数字。 figure - 创建图窗窗口 plot(X,Y,LineSpec) 设置线型、标记符号和颜色。
当使用ployfit函数拟合时,多项式的阶次最大不超过length(x)-1。
根据自身准确度不同,给出不同加权数值。
已知输入向量xdata和输出向量ydata,并已知输入和输出函数的关系为ydata=F(x,xdata),但是不清楚系数向量x。

先建立拟合函数文件。
function F= ex1024(x,xdata)F= x(1)*xdata.^2+x(2)*sin(xdata)+x(3)*xdata.^3编写函数拟合代码。
clear allclcxdata = [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];ydata = [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];x0 = [10, 10, 10]; [x,resnorm] = lsqcurvefit(@ex1024,x0,xdata,ydata)参数估计包括点估计和区间估计,点估计就是用一个数值对对总体参数给出估计;而区间估计是在点估计基础上,给定一个具体的估计范围。


正态分布情况下,用normfit函数求解平均行驶里程95%的置信区间。
clear allclcx1=[59.6 55.2 56.6 55.8 60.2 57.4 59.8 56.0 55.8 57.4];x2=[56.8 54.4 59.0 57.0 56.0 60.0 58.2 59.6 59.2 53.8];x=[x1 x2]';a=0.05;[muhat,sigmahat,muci,sigmaci]=normfit(x,a);[p,ci]=mle('norm',x,a);n=numel(x);format longmuhatp1=p(1)sigmahatsigmahat1=var(x).^0.5p2=p(2)mucicisigmacimuci1=[muhat-tinv(1-a/2,n-1)*sigmahat/sqrt(n),muhat+tinv(1-a/2,n-1)*sigmahat/sqrt(n)]sigmaci1=[((n-1).*sigmahat.^2/chi2inv(1-a/2,n-1)).^0.5,((n-1).*sigmahat.^2/chi2inv(a/2,n-1)).^0.5](1)最大似然法(一般推荐)
使样本 事件 发生概率最大的参数值,作为总体参数的估计值。
phat=mle('dist',data) 用data中的样本数据,返回dist指定的最大似然估计。
clear all clcx1=[59.6 55.2 56.6 55.8 60.2 57.4 59.8 56.0 55.8 57.4];x2=[56.8 54.4 59.0 57.0 56.0 60.0 58.2 59.6 59.2 53.8];x=[x1 x2]';p=mle('norm',x);muhatmle=p(1)sigma2hatmle=p(2)^2(2)矩法
用样本的矩直接作为总体矩的估计值。moment(X,order)
clear all clcx1=[59.6 55.2 56.6 55.8 60.2 57.4 59.8 56.0 55.8 57.4];x2=[56.8 54.4 59.0 57.0 56.0 60.0 58.2 59.6 59.2 53.8];x=[x1 x2]';muhat=mean(x)sigma2hat=moment(x,2)var(x,1)给出具体的估计范围,和置信度绑定。

clear all clcx1=[29.8 27.6 28.3 27.9 30.1 28.7 29.9 28.0 27.9 28.7];x2=[28.4 27.2 29.5 28.5 28.0 30.0 29.1 29.8 29.6 26.9];x=[x1 x2]';[p,pci]=mle('norm',x,0.05)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删