还剩3页未读,继续阅读
文本内容:
线性回归拟合Matlab对于多元线性回归模型y=A+夕内+・.・+//〃+e设变量七,马,・・,,y的〃组观测值为七1,七2,・,・%加,
⑦,=1,2,・・・,〃・记,,则的估计值为b=B=xxT xy
11.2在中,用函数进行多元线性回归分析,应用方法如下Matlab regress语法b=regressy,x[b,bint,r,rint,stats]=regressy,x[b,bint,r,rint,stats]=regressy,x,alpha得到的维列向量即为式给出的回归系数的估计值.b=regressy,x,b
11.2给出回归系数的估计值的置信区间向量残[b,bint,r,rint,stats]=regressy,x b,95%bint,差I•以及每个残差的95%置信区间向量rint;向量stats给出回归的R2统计量和F以及临界概率的值.p如果的置信区间的第行不包含则在显著水平为时拒绝的假设,认为变量是显bint0,著的.给出了和的的置信区间.[b,bint,r,rint,stats]=regressy,x,alpha bintrint1001-alpha%三次样条插值函数的程序MATLAB的matlab spline%插值点x=0:10;y=sinx;%绘图点xx=0:.25:10;yy=splinex,y,xx;;plotx yo\xx,yy5非线性拟合非线性拟合可以用以下命令同样适用于线形回归分析
1.beta=nlinfitX yfun betaO535给定的自变量数据,给定的因变量数据,要拟合的函数模型句柄函数或者内X Yfun联函数形式,函数模型中系数估计初值,返回拟合后的系数betaO beta
2.x=lsqcurvefitfun xO,xdata ydata53要拟合的目标函数目标函数中的系数估计初值,自变量数据,函fun,xO xdata ydata数值数据拟合返回的系数拟合结果Xnlinfit格式[beta,r,J]=nlinfit x,y,model,betaOBeta估计出的回归系数r残差J矩阵Jacobian输入数据、分别为矩阵和维列向量,对一元非线性回归,为维列向量x,y xy n*m nx nmodel是事先用文件定义的非线性函数m-betaO回归系数的初值例已知数据1xl=[0,5,
0.4,
0.3,
0.2,
0.1];x2=[
0.3,
0.5,
0.
20.4,
0.6];zx3=[L8,L4,l.0,L4,L8];y=[0,785,0,703,
0.583,0,571,
0.126]7;且与关系为多元非线性关系只与相关为y xl,x2,x3x2,x3A Ay=a+b*x2+c*x3+d*x
2.2+e*x
3.2求非线性回归系数a,b,c,d,e对回归模型建立文件如下1M model.mfunction yy=myfunbeta,xxl=x:,1;x2=x:,2;x3=x:,3;.人Ayy=beta1+beta2*x2+beta3*x3+beta4*x22+beta5*x
3.2;⑵主程序如下x=[
0.5,
0.4,
0.3,
0.2,
0.1;
0.3,
0.5,
0.2,
0.4,
0.6;
1.8,
1.4,
1.0,
1.4,
1.8];y=[
0.785,
0.703,
0.583,
0.571,
0.126];betaO=[1,1,1,1,1];I beta,r,j|=nlinfitx,y,@myfun,betaO例题混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成个试块,记2:12录了养护日期日及抗压强度的数据y kg/cm2养护时间x=
[234579121417212856]抗压强度y=[35+r42+r47+r53+r59+r65+r68+r73+r76+r82+r86+r99+r]建立非线性回归模型,对得到的模型和系数进行检验注明此题中的+r代表加上一个[・
0.5,
0.5]之间的随机数模型为y=a+k1*expm*x+k2*exp-m*x;程序:Matlabx=
[234579121417212856];r=rand1,12-
0.5;y1=
[354247535965687376828699];y=yi+r;myfunc=inlinefbeta1+beta2*expbeta4*x+beta3*exp-beta4*x,/beta,,,x,;beta=nlinfitx,y,myfunc,[
0.
50.
50.
50.5];a=beta1,k1=beta2,k2=beta3,m=beta4%test themodelxx=minx:maxx;yy=a+k1*expm*xx+k2*exp-m*xx;plotx,y;o,xx yy;r5结果a=
87.5244k1=
0.0269k2=-
63.4591m=
0.1083图形Isqnonlin非线性最小二乘非线性数据拟合的标准形式为min fx=f4x2+f x24----------1-f x2+L2mx其中为常数L在中,用函数解决这类问题,在版中使用函数MATLAB
5.X leastsq
6.0Isqnonlinoflxf x2设Fx=fmX则目标函数可表达为min J||Fx||;=JZfix2其中为向量,为函数向量X Fx函数Isqnonlin格式为初始解向量;为,返回x=lsqnonlinfun,xO%x0fun i=l,2,…,m,fun向量值而不是平方和值,平方和隐含在算法中,的定义与前面相同F,fun定义的下界和上界x=lsqnonlinfun,xO,lb,ub%lb ub x为指定优化参数,若没有界,则x=lsqnonlinfun,xO,lb,ub,options%options xlb=[],ub=[]o[x,resnorm]=Isqnonlin…%resnorm=sumfunx.A2,即解x处目标函数值[x,resnorm,residual]=Isqnonlin・・%residual=funx,即解x处fun的值为终止迭代条件[x,resnorm,residual,exitflag]=Isqnonlin…%exitflag输出优化信息[x,resnorm,residual,exitflag,output]=lsqnonlin---%output为乘子[x,resnorm,residual,exitflag,output,lambda]=lsqnonlin***%lambda Lagrage在解[x,resnorm,residual,exitflag,output,lambda,jacobian]=lsqnonlin---%fun x处的矩阵Jacobianio例求下面非线性最小二乘问题匕1^初始解向量为5-17£2+2k-—ekx20=[
0.3,k=lx
0.4]o解先建立函数文件,并保存为由于中的为向量形式而不是平myfun.m,Isqnonlin fun方和形式,因此,函数应由建立myfunf x=2+2k-ekX1-ekX2k=l,2,...,10kfunction F=myfunxk=1:10;F=2+2*k-expk*xl-expk*x2;然后调用优化程序x0=[
0.
30.4];[x,resnorm]=lsqnonlin@myfun,x0结果为Optimization terminatedsuccessfully:Norm ofthe currentstep isless than OPTIONS.TolX
0.
25780.2578resnorm=%求目标函数值Isqcurvefit非线性曲线拟合是已知输入向量和输出向量并且知道输入与输出的函数关系为xdata ydata,但不知道系数向量今进行曲线拟合,求使得下式成立:ydata=Fx,xdata,X xmin引|Fx,xdata-ydata||Fx,xdata,-ydata,22在中,使用函数解决这类问题MATLAB
5.X curvefit函数Isqcurvefit格式x=lsqcurvefitfun,xO,xdata,ydata二x=lsqcurvefitfun,xO,xdata,ydata,lb,ubxlsqcurvefitfun,xO,xdata,ydata,lb,ub,options[x,resnorm]=Isqcurvefit・・[x,resnorm,residual]=lsqcurvefit-*-[x,resnorm,residual,exitflag]=Isqcurvefit・・[x,resnorm,residual,exitflag,output]二二lsqcurvefit---[xjesnorm,residual,exitflag,output,lambda]lsqcurvefit---参数说明[x,resnorm,residual,exitflag,output,lambda,jacobian]=lsqcurvefit***为初始解向量;为满足关系的数据;、为解向xO xdata,ydata ydata=Fx,xdata lbub量的下界和上界,若没有指定界,则lb=[],ub=[];options为指定的优化参数;为拟合函数,其定义方式为:其中fun x=lsqcurvefit@myfun,xO,xdata,ydata,已定义为myfun functionF=myfunx,xdata%计算处拟合函数值的用法与前面相同;F=…x funresnorm=sumfunx,xdata-ydata.A2,即在x处残差的平方和;即在处的残差;为终止迭代的条件;residual=funx,xdata-ydata,x exitflagoutput为输出的优化信息;为解处的乘子;为解处拟合函lambda xLagrange jacobianx数的矩阵fun jacobian例求解如下最小二乘非线性拟合问题5-16已知输入向量xdata和输出向量ydata,且长度都是n,拟合函数为ydatai=xl-xdata i2+x2-sinxdatai+x3-xdata i3即目标函数为min JZFx,xdata,-ydataj2x,i=i其中Fx,xdata=xl-xdata2+x2-sinxdata+x3-xdata3初始解向量为x0=[
0.3,
0.4,
0.1]o解先建立拟合函数文件,并保存为myfun.mfunction F=myfunx,xdataF=xl*xdata.A2+x2*sinxdata+x3*xdata.A3;然后给出数据和xdataydata»xdata=[
3.
67.
79.
34.
18.
62.
81.
37.
910.
05.4];»ydata=[
16.
5150.
6263.
124.
7208.
59.
92.
7163.
9325.
054.3];»x0=[10,10,10];%初始估计值结果为»[x,resnorm]=lsqcurvefit@myfun,xO,xdata,ydataOptimization terminatedsuccessfully:Relative functionvalue changingby lessthanOPTIONS.TolFun x=
0.
22690.
33850.3021resnorm=
6.2950。
个人认证
优秀文档
获得点赞 0