首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab中的凸优化

Matlab中的凸优化
EN

Stack Overflow用户
提问于 2012-06-25 13:29:37
回答 1查看 6.2K关注 0票数 2

我想解决以下优化问题:

非Latex:给定x和mu值,查找

argmin_p ||x-p||_2 s.t.||p||_2 < mu.

Latex:

给定$\mathbf{x}$$\mu$,找到

代码语言:javascript
复制
$\mathrm{argmin}_p \|\mathbf{x}-\mathbf{p}\|_2 \;\; \mathrm{s.t.}\;\;\|\mathbf{p}\|_2 \leq \mu$,

它是凸集上的凸函数。我一直在使用Matlab的fmincon,但它太慢了。到目前为止,搜索引擎的结果给我带来了比我所寻找的更多的理论材料。我不是第一个想要解决这个问题的人,我希望找到一个现有的高效的Matlab实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-25 14:00:52

cvx可以非常简单地处理这个问题。即使你不熟悉它,它的语法也是非常直观的:

代码语言:javascript
复制
% test data
n = 1e4;
x = randn(n,1);
mu = 1;

cvx_begin
variable p(n)
minimize norm(x-p)
subject to
norm(p) <= mu
cvx_end

在我的系统上,对于10^4个变量,这需要不到1秒的时间。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11183894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档