我正在尝试在matlab中使用quadprog。 变量是矩阵X. 我的问题有一个线性约束,说diag(AX)< = b,其中A是矩阵,b是矢量。 但是,由于quadprog只接受矢量变量,因此上面的不等式约束应以矢量形式重新表示。但是我不知道怎么做。 你能帮我这么做吗? 感谢。
答案 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不是正方形,只要它们符合矩阵乘法,它就一样。