Solving Complex Equations Using "fmincon"

20 views (last 30 days)
Hello all, sorry if it is a dumb question I am new to optimization. I am trying to solve a complex equation system using fmincon. I have 3 equations and my objective function is as follows:
function Fun = ObjFun(ab)
x = ab(1:3) + ab(4:6) * 1i;
Eqs = [...Equations...]
Fun = [real(Eqs); imag(Eqs)];
end
I am getting 6 values. Are the first 3 values real and the last 3 values are imaginary parts? I can't be sure. I want to form a+bi representation. My second question is: should I use polar coordinates (x = ab(1:3) .* exp(ab(4:6) * 1i)) inside the function to create complex values from real and imaginary parts (instead of x = ab(1:3) + ab(4:6)*1i)? Thanks for the help.

Accepted Answer

Alan Weiss
Alan Weiss on 7 Dec 2020
I don't understand why you are trying to use fmincon to solve systems of nonlinear equations. Use fsolve for that. And then you get the bonus that fsolve can handle complex variables. See Complex Numbers in Optimization Toolbox Solvers.
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Community Treasure Hunt

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

Start Hunting!