fmincon with constraints on eigenvalues
Afficher commentaires plus anciens
Hello everybody, I need to perform an optimization on matlab, I'm using fminsearch, but I realized that I need to put some constraints on a part of the parameter vector.
my parameter vector size is 20*1, I need the matrix :
K= Vec2mat(param(1:9),3) to have eigenvalues with positive real parts.
I wrote: [param, ML] = fmincon(@(param) Myfct(param,maturity,Data),param0,[],[],[],[],[],[],@Myconstr, options)
with the function Myconstr being:
function [c,ceq] = Myconstr(x) c = -real(eig(vec2mat(x(1:9),3)))'; ceq=[]; end
but it doesn't seem to work. Appreciate any help.
Thanks
5 commentaires
Shashank Prasanna
le 3 Mar 2013
'but it doesn't seem to work' is not enough information. What is the error message? What is the expected output? What does Myfct look like?
Ben
le 3 Mar 2013
Ben
le 3 Mar 2013
Réponses (1)
As Shashank said, we need to see KalmanFilterCorr to know what's going on, but it looks like you have reached values for params(1:9) that are not finite and therefore EIG complains.
Using the DBSTOP command ("dbstop if naninf") will force MATLAB to pause execution at the point in the code where nan/inf values for params are generated. Then you can see what's going on.
Catégories
En savoir plus sur Matrix Computations 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!