如何使用“fmincon”来解决矩阵最小化问题

时间:2017-04-29 13:02:17

标签: matlab matrix optimization minimization

问题:如何使用“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是已知的(8×1)列向量。
  • c是已知的(1×8)列向量。
  • d是已知的(8x1)标量。
  • e是已知的(1x1)标量。 和
  • f是标量,未知。

1 个答案:

答案 0 :(得分:0)

感谢@ m7913d,我通过Isqnonlin解决了代码:

clc;
clear all;

% random inputs A, B, C, D and E
a = rand(8,8)'*rand(8,8);
b = 2*rand(8,1) - 1;
c = 2*rand(1,8) - 1;
d = 2*rand(8,1) - 1;
e = 2*rand(1,1) - 1;

 % minimization term
 fun = @(f) a * ( b - ( inv(a) * inv(inv(a)+c'*inv(f)*c) * (inv(a)*d+c' * inv(f) * e)  ) );

f = lsqnonlin(fun,0.1,0,+inf)