ENSO
Problem definition
Objective function
f = @(x,b) b(1)+b(2).*cos(2*pi*x/12)+b(3).*sin(2*pi*x/12) + ... b(5).*cos(2*pi*x./b(4))+b(6).*sin(2*pi*x./b(4))+ b(8).*cos(2*pi*x./b(7)) + ... b(9).*sin(2*pi*x./b(7))
Problem setup
Graphic representation
scatter(x,y)
Optimization example with lsqcurvefit
Optimization
rng(0)% for tractability
[b,info] = lsqcurvefit(f,ig1,x,y)% running minimization
Animation
rng(0) [~,info] = lsqcurvefit(f,ig1,x,y) info.plot = 'fit' info.animate = true% plot animation
info.animfreq = 2% frame frequency
optimview('lsqcurvefit',info)