Borrar filtros
Borrar filtros

Problem with "lsqnonlin" function in matlab

1 visualización (últimos 30 días)
fsalehi
fsalehi el 24 de Ag. de 2011
Dear all,
I have a problem with 'lsqnonlin' function in matlab. I used it to optimizing this function:
objfun = @(z) y - ( z(5).*exp(-z(1).*(t-z(7)).^2).*cos(2*pi.*z(2).*(t-z(7))+z(3)) + z(6).*exp(-z(1).*(t-z(8)).^2).*cos(2*pi.*z(2).*(t-z(8))+z(4)) );
% y is my signal and I optimize a guassian pulse function for Model Base Estimation
options = optimset(options, 'MaxFunEvals', 10000, 'TolX', 1e-3, 'TolFun', 1e-2, 'MaxIter', 800, 'LargeScale', 'on', 'LevenbergMarquardt', 'on', 'DiffMaxChange', 1e-7, 'DiffMinChange', 1e-10, '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 (z(1)) doesnt change. I should note that 'alpha', 'Fc', 'tolu' and 'toll' are known.
why this happend?!

Respuestas (0)

Categorías

Más información sobre Problem-Based Optimization Setup en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by