我有一个信号X1 = [a1,...aN],其中值[a1,....,aN]总是>0。
我还有其他599个信号X2, X3, ...,X600,长度相同的(N) of X1。这些信号可以假定值>0和<0。
我知道所有600个信号的和总是正的,并且等于信号S。
S = X1 + X2 + ... + X600
我想分发第一个信号X1,以减少其他信号的负值,在最好的way...could,你建议我如何做(我使用matlab)?
在最好的情况下,S = X2' + X3' + ... + X600',其中X2', X3'等是正信号。
谢谢
编辑
% signal x1
x=rand(1,1000);
x(x<0)=0.01;
% signals x2,....,x599 contained in the rows of A
A=rand(599,1000);发布于 2015-03-27 15:42:25
似乎您希望在(A)项上将以下目标(J)最小化:
J = sum( abs( x(:,1) - A*x(:,1)) ) +...
sum(negativehockeystick( x(:, 2:end) + A.*x(:,1))其中A是一个599*N矩阵(优化的变量)。
-min(x,0)函数是否定的。
我认为cvx可以处理这个问题,因为它看起来是凸的(在A中),但我不确定
https://stackoverflow.com/questions/29304024
复制相似问题