0

我想知道如何用matlab解决以下最小化问题:

A是半正定矩阵。(所有特征值都大于或等于 0) F=F(x_1,...,x_n,y_1,y_2) = (F_1,...,F_2n) 是一个线性函数。

我想找到 (x_1,...,x_n,y_1,y_2) 以便:

F*A*F' 是最小值。变量没有限制,但请注意,它们的长度远小于向量长度。

我正在尝试缩小统计距离。我在网上找不到要使用的功能。

提前致谢。

4

1 回答 1

1

对于 MATLAB 中的无约束优化,您可以使用fminunc. 为此,您可以定义成本函数:

function z = costfun(x)
f = F*A*F';    % where F is a function of x=[x_1,...y_n]

然后调用fminunc找到最小值。提供向量x0作为搜索的起点。

[x,zval] = fminunc(@costfun,x0);
于 2013-08-27T19:55:20.390 回答