How to use "eig" function in optimproblem?

4 次查看(过去 30 天)
I solving a Constrained Nonlinear Optimization problem using solve function. All the variables are matrices with different dimensions in the objective function. At one point, I need to check if a matrix is PSD or not by computing the eigenvalues. However, I canno use the eig command and getting this error, "Error using eig. Invalid data type. Input matrix must be double or single."
How can I compute eigenvalues for a OptimizationVariable data type? Thank you.

采纳的回答

Bruno Luong
Bruno Luong 2023-8-6
编辑:Bruno Luong 2023-8-6
Put whatever you want to compute (with eig) in a standard matlab function (e.g., in an mfile) then use fcn2optimexpr to convert to problem-based expression
  1 个评论
Alan Weiss
Alan Weiss 2023-8-7
FYI, the first example on the fcn2optimexpr page shows using the eig function in an optimization expression: https://www.mathworks.com/help/optim/ug/fcn2optimexpr.html#mw_61d4a415-ca9f-4343-83fb-46ac6b21da13 (search for eig, it is a long example with quite a few parts).
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by