minimize a 2d function including phase
Show older comments
I am trying to minimize a function in which I use the angle() function. The function mathematically is smooth and monotonous, and therefore if someone search for the min there should be only one answer. However for different starting values I get different results.
In a nutshel, this is the function I try to minimize,
function y = delta(n1)
n = n1(1)-1i*n1(2);
T = ( 4*n/(n + 1)^2 ) * exp(-1i*(n - 1) * 3) ;
deltaRho = log( sqrt( T * conj(T)) ) - log(0.05);
deltaPhi = angle(T) - 10;
y = deltaRho^2 + deltaPhi^2;
end
and I call,
fminsearch(@delta,n0)
Is there any way to fix the angle() jumps and find the unique solution to that monotonous function.
George.
2 Comments
Matt J
on 30 Oct 2012
Your function is from R^2-->R. Please give your definition of monotonicity of such a function.
Also, since your function uses complex arithmetic, it would probably be wise to insert some calls to REAL to get rid of complex-valued floating point errors.
Matt J
on 30 Oct 2012
Isn't the obvious minimum at n=[0;0] where y=-inf
Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!