Formulating objective function & constrain such that the eigenvalue is always positive
1 次查看(过去 30 天)
显示 更早的评论
Kindly assist, I am trying to tune some parameters (4) such that the eigenvalues are positive
i.e eig(Q)>0 eig(P)>0
Please note: I am not concern about minimizing or maximizing the objective function, just want the tuning paramenters x(1), x(2), x(3) and x(4) that will make eig(Q) and eig(P) positive. dimension of both eig(Q) & eig(P) is 3x1
Thanks in anticipation.
3 个评论
Walter Roberson
2018-8-30
It sounds like your matrix is relatively small, 3x3 . Perhaps it would make sense to switch to a symbolic formulation, in which case the eigenvalues would be expressed as the roots of a cubic polynomial. Set the roots equal to deltaP and deltaQ, symbolic variables assumed to be positive. That gives you a system of two equations in four variables that you can then solve pairwise on the variables and analyze the conditions under which the solutions are real valued. Some of the pairs might not admit any real valued solutions, or you might come out with range constraints on deltaP and deltaQ (which is to say, on the eigenvalues)
If your equations involve trig it might be hard to figure out the solutions. If they involve sum of exponentials then an exact solution might not be possible but numeric modelling might turn out to be not bad.
采纳的回答
Christine Tobler
2018-9-4
Hi Hammed,
Your problem looks like a smooth nonlinear optimization problem: I believe the smallest eigenvalue of a linear combination of matrices is always a smooth function.
I know you don't care which solution that satisfies the equation you get, but the easiest way to approach this might be to use optimization. For example, use the function fmincon, for constrained nonlinear multi-variable optimization. You could use one of the min(eig(...)) > 0 equations as a constraint, and try to maximize over the other one; or use min(min(eig(P)), min(eig(Q)))| as the optimization function.
Alternatively, it might be simpler to just make a plot of min(eig(P)) and min(eig(Q)), depending on (some of) the variables, and try to visually find a spot where these are positive.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!