matlab怎么建立一元线性回归方程,MATLAB实现一元线性回归的多种方式

1.引言回归分析,是对现有数据进行处理、从中发现有用信息的一种重要手段。而线性回归,特别是一元线性回归分析更是人们优先考虑采用的方式。基于此,本文就一元线性回归的MATLAB实现作了一番探讨,给出了多种实现方式,并通过一个实例加以具体展示,在数据处理时可根据自己的需要灵活地加以选用。2.regress命令regress命令,是MATLAB中用来进行多元线性回归的基本命令,此命令当然也可以用来处理一元线性回归。例1为研究某一化学反应过程中,温度x(oC)对产品得率y(%)的影响,测得数据如下。表-1温度对得率表解>>x=[100110120130140150160170180190];>>y=[45515461667074788589];>>plot(x,y,'*')%画散点图以选择回归类型>>X=[ones(10,1),x']>>[b,bint,r,rint]=regress(y',X);>>bb=-2.73940.4830>>plot(x,y,'*');lsline%在散点图上追加最小二乘拟合直线图图-1散点图回归直线图3.polyfitpolyfit(x,y,n)是MATLAB中用n次多项式拟合数据的通用命令,当取n=1时即可得到线性拟合的系数。仍以例1为例:>>x=[100110120130140150160170180190];>>y=[45515461667074788589];>>b2=polyfit(x,y,1)b2=温度x(oC)100110120130140150160170180190得率y(%)455154616670747885894.lsqcurvefitlsqcurvefit是MATLAB中利用最小二乘法——用自己选定的曲线去拟合所给数据的命令,如果我们人为指定曲线为直线,则可利用该命令实现事实上的线性拟合。以例1为例,其实现方式为:>>x=[100110120130140150160170180190];y=[45515461667074788589];>>p0=[100,-1];%Startingguess>>[p,resnorm]=lsqcurvefit(@yyxxhg,p0,x,y)Optimization terminated:first-order optimality less thanOPTIONS.TolFun,and no negative/zero curvature detected in trust region mod-el.p=-2.73940.4830resnorm=7.2242注:要用该命令实现线性回归,需事先将如下内容保存为yyxxhg.m:【function F=yyxxhg(p,x)F=p(1)+x.*(p(2));】5.左除命令“\”如果数据计算量较大,为提高运算速度,可直接利用MATLAB的左除命令“\”来处理,以例1为例,其使用方式为:>>x=[100110120130140150160170180190]';>>y=[45515461667074788589]';>>A=[ones(size(x),1),x];>>coef=A\yWarning:Input arguments must be scalar.coef=-2.73940.48306.cftoolcftool是MATLAB中一个曲线拟合(curve fitting)工具箱图形界面,可根据界面提示一步步操作,直至得到自己想要的结果。对例1,其实现的方式为:>>x=[100110120130140150160170

你可能感兴趣的:(matlab怎么建立一元线性回归方程,MATLAB实现一元线性回归的多种方式)