我想知道我怎么能解决以下最小化问题与MATLAB:凸优化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”是最小的。 这些变量没有限制,但注意到其中的矢量长度要小得多。
我正在尝试minicime统计距离。我无法在网上找到要使用的功能。
在此先感谢。
我想知道我怎么能解决以下最小化问题与MATLAB:凸优化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”是最小的。 这些变量没有限制,但注意到其中的矢量长度要小得多。
我正在尝试minicime统计距离。我无法在网上找到要使用的功能。
在此先感谢。
对于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);
谢谢@ramino。这是一个我不知道的有趣功能。无论如何,我为我的问题找到了一个特定的功能。 x = quadprog(H,f,A,b,Aeq,beq)。这个问题实际上可以表述为二次规划。 – Manuel
这功课吗?你试过什么了?你卡在哪里? – Schorsch
不,这不是家庭作业。没有什么可尝试的。我只是问是否有人为我的问题新增了一个matlab求解器。 – Manuel