Matlab Quadprog约束

时间:2013-09-10 00:06:13

标签: matlab optimization

我正在尝试在matlab中使用quadprog。 变量是矩阵X. 我的问题有一个线性约束,说diag(AX)< = b,其中A是矩阵,b是矢量。 但是,由于quadprog只接受矢量变量,因此上面的不等式约束应以矢量形式重新表示。但是我不知道怎么做。 你能帮我这么做吗? 感谢。

1 个答案:

答案 0 :(得分:1)

我假设A和X是方形矩阵,大小为nxn。

对角线元素是什么?暂时,我会打电话给

C = diag(A*X)

什么是C(i,i)?

C(i,i) = sum(A(i,j)*X(j,i))

总和超过j。本质上,C的第i个对角线元素是A的第i行和X的第i列之间的点积。有n个这样的点积,它们以矩阵形式写成。

当然,如果A和X不是正方形,只要它们符合矩阵乘法,它就一样。