我想知道如何用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‘是最小值。变量中没有限制,但请注意,变量的长度远远小于向量长度。
我试着缩小一个统计距离。我在网上找不到该用什么功能。
提前谢谢。
发布于 2013-08-27 19:55:20
在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);https://stackoverflow.com/questions/18473460
复制相似问题