Definition einer Funktion linreg für lineare Regression

linreg(liste,var):=block(
  [anz:0,i:1,lx,ly],
  anz:length(liste),
  lx:makelist(liste[i][1],i,1,anz),
  ly:makelist(liste[i][2],i,1,anz),
  b1:(sum(lx[i]*ly[i],i,1,anz)-
     1/anz*sum(lx[i],i,1,anz)*sum(ly[i],i,1,anz))
     /(sum(lx[i]^2,i,1,anz)-1/anz*(sum(lx[i],i,1,anz))^2),
  b0:1/anz*sum(ly[i],i,1,anz)-1/anz*sum(lx[i],i,1,anz)*b1,
  return(b0+b1*var)
)$

Überprüfung mit geeignetem Datenmaterial
(in diesem Fall Korrelation Größe - Gewicht)

daten:[[192,99],[181,76],[174,80],[191,98],
      [185,89],[177,72],[181,81],[178,80],
      [198,106],[169,62],[171,72],[171,75]]$

f(x):=''linreg(daten,x),numer$

wxplot2d([f,[discrete,daten]],
  [x,150,200],[y,60,130],
  [style,[lines,1,6],[points,2,2,2]]);