Solving Complex Equations Using "fmincon"
10 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Alan Weiss
2020-12-7
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!