function polynom = regress(x, y, degree) assert(degree == 1 || degree == 2); % doesnt work with old octave versions currently %pot = @(x) x.^[degree:-1:0]; %M = reshape(cell2mat(arrayfun(pot, x(:)', 'UniformOutput', false)), degree+1, [])'; M = []; if degree == 1 M = [ x.^1 x.^0 ]; end if degree == 2 M = [ x.^2 x.^1 x.^0 ]; end polynom = M \ y(:); endfunction