gpt4 book ai didi

matlab - 2D 融合 Lasso 与 Matlab CVX

转载 作者:行者123 更新时间:2023-11-30 09:20:57 26 4
gpt4 key购买 nike

我在这里编写了一个 2D 融合套索代码。

[m n] = size(circle);
cvx_begin
variable theta(m, n);
minimize( norm(circle-theta, 'fro'));
subject to
sum(sum(abs(theta(:,1:n-1)-theta(:,2:n)))) == 0;
sum(sum(abs(theta(1:m-1,:)-theta(2:m,:)))) == 0;
cvx_end

奇怪的是,程序报告,

In cvxprob (line 28) In cvx_begin (line 41) Error using cvxprob/newcnstr (line 192) Disciplined convex programming error:
Invalid constraint: {convex} == {constant}

== 中的错误(第 12 行) b = newcnstr( evalin( 'caller', 'cvx_problem', '[]'), x, y, '==');

删除 abs() 后在约束中,程序可以运行,但这不是我期望的约束。

最佳答案

我认为你可以尝试将矩阵堆叠成向量,然后使用 L1 范数。在CVX中,它只是norm(variable, 1)。它将执行与您在此处编写的相同的操作:绝对基本差异之和。

关于matlab - 2D 融合 Lasso 与 Matlab CVX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39409116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com