Lsqnonlin - Use levenberg-marquardt with real parameters and complex function

3 次查看(过去 30 天)
I want to minimize the term f(x)-v (where v is a constant complex vector number). The Function f(x) take an complex input vector and returns an complex vector. For my computations, i want that x has a certain curve (Equation 2 in the picture, x is sigma). So, each element in the x-vector should have 3 parameters x_infinity, x_zero and tau that are real (!) numbers. The problem is: if i use a complex function in lsqnonlin (levenberg-marquardt), the all the parameters are directly complex. How can i command to the solver to just consider real parameters?

采纳的回答

Matt J
Matt J 2017-8-5
编辑:Matt J 2017-8-5
Break the function into real and imaginary parts. In other words, modify your objective function from an N x 1 vector to 2N x 1 consisting of the real and imaginary parts,
f_new(x) = [real(f(x)); imag(f(x))]

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by