% data: load('lin_regression.mat') % gradient descent: pstart = [-2. 10.]; [params, errors] = descent(x, y, pstart); % lsqcurvefit: line = @(p, x) x.* p(1) + p(2); cparams = lsqcurvefit(line, pstart, x, y); % polyfit: pparams = polyfit(x, y, 1); % comparison: fprintf('descent: %6.3f %6.3f\n', params(1), params(2)); fprintf('lsqcurvefit: %6.3f %6.3f\n', cparams(1), cparams(2)); fprintf('polyfit: %6.3f %6.3f\n', pparams(1), pparams(2));