全文预览

matlab多元非线性回归

上传者:梦&殇 |  格式:doc  |  页数:23 |  大小:235KB

文档介绍
^2)—此函数是由用户根据图形的形状等所配的曲线,即自己选定函数类型求非线性回归系数a , b , c , d , e 。Р(1)对回归模型建立M文件model.m如下:Рfunction yy=myfun(beta,x) %一定是两个参数:系数和自变量---一个向量/一个矩阵Рa=beta(1)Рb=beta(2)Рc=beta(3)Рx1=x(:,1); %系数是数组,b(1),b(2),…b(n)依次代表系数1, 系数2,……系数nРx2=x(:,2); %自变量x是一个矩阵,它的每一列分别代表一个变量,有n列就可以最多nРx3=x(:,3);Рyy=beta(1)+beta(2)*x2+beta(3)*x3+beta(4)*(x2.^2)+beta(5)*(x3.^2);Р(b(i)与待定系数的顺序关系可以任意排列,并不是一定常数项在最前,只是结果与自己指定的相对应)(x一定是一列对应一个变量,不能x1=x(1),x2=x(2),x3=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]';Рbeta0=[1,1, 1,1, 1,1]'; %有多少个待定系数,就给多少个初始值。Р[beta,r,j] = nlinfit(x,y,@myfun,beta0)Рbeta = -0.4420 5.5111 0.3837 -8.1734 -0.1340Р此题也可用regress来求解,但结果是不一样的Р>> x1=[0.5,0.4,0.3,0.2,0.1];Р>> x2=[0.3,0.5,0.2,0.4,0.6];Р>> x3=[1.8,1.4,1.0,1.4,1.8];

收藏

分享

举报
下载此文档