0

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

4

1 回答 1

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 不是方阵,只要它们符合矩阵乘法,同样成立。

于 2013-09-10T01:33:18.603 回答