16 lines
418 B
Mathematica
16 lines
418 B
Mathematica
function [params, errors] = descent(xdata, ydata, pstart)
|
|
mingradient = 0.1;
|
|
eps = 0.01;
|
|
|
|
errors = [];
|
|
params = pstart;
|
|
count = 1;
|
|
gradient = [100.0, 100.0];
|
|
while norm(gradient) > mingradient
|
|
gradient = lsqGradient(params, xdata, ydata);
|
|
errors(count) = lsqError(params, xdata, ydata);
|
|
params = params - eps .* gradient;
|
|
count = count + 1;
|
|
end
|
|
end
|