Definition einer Funktion quadreg für quadratische Regression

quadreg(liste,var):=block(
[n:0,i:1,j:1,k:1,lx,ly,lz,a,b,c],
  n:length(liste),
  lx(k):=1/n*sum(liste[i][1]^k,i,1,n),
  ly():=1/n*sum(liste[i][2],i,1,n),
  lz(j,k):=1/n*sum(liste[i][1]^j*liste[i][2]^k,i,1,n),
  c:((lz(1,1)-lx(1)*ly())/(lx(2)-lx(1)^2)-
     (lz(2,1)-lx(2)*ly())/(lx(3)-lx(1)*lx(2)))
    /
    ((lx(3)-lx(1)*lx(2))/(lx(2)-lx(1)^2)-
     (lx(4)-lx(2)^2)/(lx(3)-lx(1)*lx(2))),
  b:(lz(1,1)-lx(1)*ly())/(lx(2)-lx(1)^2)-
     c*(lx(3)-lx(1)*lx(2))/(lx(2)-lx(1)^2),
  a:ly()-lx(1)*b-lx(2)*c,
  return(a+b*var+c*var^2)
)$

Die nonlineare Regression wird mit geeignetem Datenmaterial getestet

daten:[[1,0.5],[2,1.9],[3,4.4],[4,7.77],[5,12.7],[6,18.2]]$

f(x):=''quadreg(daten,x)$

f(x);

wxplot2d([f,[discrete,daten]],[x,-1,9],[y,-5,30],[style,[lines,1,2],[points,3,3,1]]);