How can I minimize an objective function using lsqnonlin? I am minimizing the difference between theoretical S parameter and measured S-parameter to extract the dielectric constant?
Afficher commentaires plus anciens
The function has complex values and every time I change the initial value example: x0 = 1-1i the value of dielectric constant changes. I think something is wrong with the optimization process here.
F = Reflx_tot_thy-refl_cmplx_measrd;
x = lsqnonlin(F,x0)
er = real(x)-i*imag(x)
Réponse acceptée
Plus de réponses (1)
Alan Weiss
le 30 Août 2016
0 votes
I am surprised that this code works at all, because I do not see where refl_cmplx is defined.
Even if that is not a real issue, I suggest that you take a wide variety of initial values x0. And it seems to me that you might have better luck if you scale some of your parameters. e_v*mu_v is of order 1e-20, which might be giving you some trouble.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
3 commentaires
Ankit Regmi
le 31 Août 2016
Alan Weiss
le 31 Août 2016
That is a hard question in general. See what the documentation has to say about it. And, since you seem to have a low-dimensional problem, you might be able to take a set of x0 that cover the space pretty well.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
Ankit Regmi
le 1 Sep 2016
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!