matlab数据拟合实例 最小二乘法曲线拟合题?

[更新]
·
·
分类:行业
1491 阅读

matlab数据拟合实例

最小二乘法曲线拟合题?

最小二乘法曲线拟合题?

曲线拟合已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值,这一过程称为曲线拟合。最常用的曲线拟合方法是最小二乘法,该方法是寻找函数使得最小。MATLAB函数:ppolyfit(x,y,n)[p,s] polyfit(x,y,n)说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)多项式曲线求值函数:polyval()调用格式: ypolyval(p,x)[y,DELTA]polyval(p,x,s)说明:ypolyval(p,x)为返回对应自变量x在给定系数P的多项式的值。[y,DELTA]polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则YDELTA将至少包含50%的预测值。练习:如下给定数据的拟合曲线,x[0.5,1.0,1.5,2.0,2.5,3.0],y[1.75,2.45,3.81,4.80,7.00,8.60]。解:MATLAB程序如下:x[0.5,1.0,1.5,2.0,2.5,3.0];y[1.75,2.45,3.81,4.80,7.00,8.60];ppolyfit(x,y,2)x10.5:0.05:3.0;y1polyval(p,x1);plot(x,y,*r,x1,y1,-b)计算结果为:p 0.5614 0.82871.1560即所得多项式为y0.5614x^2 0.08287x 1.15560polyfit函数是matlab中用于进行曲线拟合的一个函数。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。  解释1  用法 polyfit(x,y,n ) ;用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况  matlab polyfit 做出来的值从左到右表示从高次到低次的多项式系数  给个例子一看就知道了  x (0: 0.1: 2.5);  y erf(x);  p polyfit(x,y,6)  p   0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004  则y0.0084x^6-0.0983x^5 0.4217x^4-0.7435x^3 0.1471x^2 1.1064x 0.0004  解释2:  MATLAB软件提供了基本的曲线拟合函数的命令.  多项式函数拟合:apolyfit(xdata,ydata,n)  其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式ya1xn ... anx a n 1的系数  多项式在x处的值y可用下面程序计算.  ypolyval(a,x,m)  线性:m1, 二次:m2, …  polyfit的输出是一个多项式系数的行向量。为了计算在xi数据点的多项式值,调用MATLAB的函数polyval。  例:  x0:0.1:1; y[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.489.30 11.2]; polyfit用法示例结果Apolyfit(x,y,2)  zpolyval(A,x);  plot(x,y,r*,x,z,b)  释疑:  在不少书中和论坛上,polyfit被误写作“ployfit”,使得很多初学者误解,认为自己安装的MATLAB软件出错,无法找到这样的函数。只要注意拼写正确即可。同样地,polyval函数也易被误写为“ployval”。

matlab曲线怎样分段拟合直线方程?

对于分段曲线的函数拟合,可以按下列步骤来进行。
步骤一、根据已知的二维数据xi、yi,用绘图函数plot(x,y,#39k*#39),绘出其散点图。
步骤二、根据散点图,判断分段曲线的分段区间,同时判断每个分段区间内的散点符合某个数学模型。
步骤三、根据分段区间,分别用matlab的拟合工具箱的拟合函数,去拟合其数学模型的系数。
步骤四、根据拟合后的数学模型的数值和已知的散点值作对比,判断拟合的数学模型是否合理,一般可以用决定系数R2来判断,当R2≈1,可以认为拟合是合理的。matlab常用的函数有,regress(线性函数),nlinfit,lsqnonlin,lsqnonlin(非线性函数),GM(离散型非线性函数)等等。