资源描述:
《MATLAB软件基本的曲线拟合函数命令.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MATLAB软件提供了基本的曲线拟合函数的命令。曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信息。 1.线性拟合函数:regress()调用格式: b=regress(y,X) [b,bint,r,rint,stats]=regress(y,X) [b,bint,r,rint,stats]=regress(y,X,alpha)说明:b=[ε;β],regress(y,X)返回X与y的最小二乘拟合的参数值β、ε,y=ε+βX。β是p´1的参数向量;ε是服从标准正态分
2、布的随机干扰的n´1的向量;y为n´1的向量;X为n´p矩阵。 bint返回β的95%的置信区间。 r中为形状残差,rint中返回每一个残差的95%置信区间。Stats向量包含R2统计量、回归的F值和p值。例: x=[ones(10,1)(1:10)']; y=x*[10;1]+normrnd(0,0.1,10,1); [b,bint]=regress(y,x,0.05) 结果得回归方程为:y=9.9213+1.0143x 2.多项式曲线拟合函数:polyfit()调用格式: p=polyf
3、it(x,y,n) [p,s]=polyfit(x,y,n)说明:n:多项式的最高阶数; x,y:将要拟合的数据,用数组的方式输入; p:为输出参数,即拟合多项式的系数;多项式在x处的值y可用下面程序计算: y=polyval(p,x)例: x=1:20; y=x+3*sin(x); p=polyfit(x,y,6) xi=linspace(1,20,100); z=polyval(p,xi); %
4、多项式求值函数 plot(x,y,'o',xi,z,'k:',x,y,'b') legend('原始数据','6阶曲线') 3.一般的曲线拟合:curvefit()调用格式: p=curvefit(‘Fun’,p0,x,y)说明:Fun: 表示函数Fun(p,data)的M函数文件; x,y:将要拟合的数据,用数组的方式输入; p0: 表示函数待拟合参数的初值; 4.自定义函数拟合:nlinfit()调用格式:[beta,r,J]=nlinfit(x,y,’fun’,beta0)说明: beta:返回函数'fun'中
5、的待定常数; r: 表示残差; J: 表示雅可比矩阵。 x,y: 要拟合的数据; fun:自定义函数; beta0:待定常数初值;例:化工生产中获得的氯气的级分y随生产时间x下降,假定在x≥8时,y与x之间有非线性模型: 现收集了44组数据,利用该数据通过拟合确定非线性模型中的待定常数。 x y x y x
6、 y 8 0.49 16 0.43 28 0.41 8 0.49 18 0.46 28 0.40 10 0.48 18 0.45 30 0.40 10
7、 0.47 20 0.42 30 0.40 10 0.48 20 0.42 30 0.38 10 0.47 20 0.43 32 0.41 12 0.46
8、 20 0.41 32