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
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.
HAMMED OBASEKORE
HAMMED OBASEKORE 2018-8-31
编辑:HAMMED OBASEKORE 2018-8-31
Thanks for the prompt assistance;
I feel by sharing the relation of the parameters, it will pinpoint my request
0<=x1<=inf
-inf<x2<inf
-inf<x3<inf
-inf<x4<inf
such that;
eig(P) > 0
eig(Q) > 0

请先登录,再进行评论。

采纳的回答

Christine Tobler
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.
  1 个评论
HAMMED OBASEKORE
HAMMED OBASEKORE 2018-9-4
Thanks alot for the very helpful response.
Though I had tried
fmincon
fsolve
and
ga
but all the instances my formulation of constrain and objective function were probably wrong.
But this works fine for my problem
  • You could use one of the min(eig(...)) > 0 equations as a constraint, and try to maximize over the other one;*
Best Regards once again.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by