fsalehi
Posts:
13
Registered:
8/30/11


Problem with "lsqnonlin" function in matlab
Posted:
Aug 30, 2011 3:34 AM


I have a problem with 'lsqnonlin' function in matlab. I used it to optimizing this function:
objfun = @(z) y  ( z(5).*exp(z(1).*(tz(7)).^2).*cos(2*pi.*z(2).*(tz(7))+z(3)) + z(6).*exp(z(1).*(tz(8)).^2).*cos(2*pi.*z(2).*(tz(8))+z(4)) );
% y is my signal and I optimize a guassian pulse function for Model Base Estimation
options = optimset(options, 'MaxFunEvals', 10000, 'TolX', 1e3, 'TolFun', 1e2, 'MaxIter', 800, 'LargeScale', 'on', 'LevenbergMarquardt', 'on', 'DiffMaxChange', 1e7, 'DiffMinChange', 1e10, 'Display', 'off', 'Diagnostics', 'off');
[Z,q,w,e,r]=lsqnonlin(objfun,... [alpha Fc amptf(1:4) phase phase],... [alpha(2e6)^2 Fc(2e6) toll(1:4) [] [] ],... [alpha+(2e6)^2 Fc+(2e6) tolu(1:4) [] [] ],options);
the problem is the result of optimization, I have 8 variable to optimizing, but in result Z, only 7 of them changes and one of them (alpha) doesnt change.
why this happend?!

