【发布时间】:2017-04-29 13:02:16
【问题描述】:
问题:如何使用“fmincon”解决以下最小化矩阵问题?
我正在尝试找到这样的 f
a * ( b – ( inv(a) * inv(inv(a) + transpose(c)*inv(f)*c) * (inv(a)*d + transpose(c) * inv(f) ) * e) ) )^2
最小化受:
f > 0
++++变量:
- a 是已知的 (8x8) 矩阵。
- b 是已知的 (8x1) 列向量。
- c 是已知的 (1x8) 列向量。
- d 是已知的 (8x1) 标量。
- e 是已知的 (1x1) 标量。 和
- f 是一个标量并且是未知的。
【问题讨论】:
-
您的实际问题是什么?你应该取绝对值还是不取(代码和问题陈述不同)?
-
我不同意你的观点,即由于 2 的幂,你的问题应该有两种解决方案。
y = x^2 - 1只有一个最小值(x = 0)。我认为您将它与此函数的零点混淆了(x=1和x=-1)。 -
你看过
fminconexamples`吗? -
@m7913d,问题陈述是正确的。我的问题是如何在 MatLab 中编码这个问题,你是对的。我删除了绝对值。
-
@m7913d 是的,我明白你的意思。你是绝对正确的。我的问题不应该返回两个解决方案。我在上面更正了它,但我认为它应该返回“V”的(8x1)行向量。我对吗?如果是这样,我该如何相应地更正代码?
标签: matlab matrix optimization minimization