Matlab 中如何作线性回归 (拟合)

发布时间 2024-01-03 20:25:20作者: listjjjclove
  一元线性回归 
      用 y=a*x+b 来拟合一组数据 {{x1,y1},{x2,y2}…{xn,yn}} 
      matlab 中使用 polyfit 
      x=data(:,1); 
      y=data(:,2); 
      p=polyfit(x,y,1); 
      p (1) 为斜率 a,p (2) 为截距 b 
      多元线性回归 
      用 y=a1*x1+a2*x2+..+am*xm 来拟合数据点 {x1i,x2i,…xmi,yi} (i=1~n) 
          |x11,x21,…xm1| 
      A=|x12,x22,…xm2| 
          |… … …   … …  | 
          |x1n,x2n,…xmn| 
      Y={y1,y2,y3,…,yn}' 
      则系数 {a1,a2,…,am}'=pinv (A)*Y 
      在 matlab 中使用 
      coeff=AY 
      则可以得到最小二乘意义上的拟合系数