L1 minimisation for a specific function
이전 댓글 표시
Hi, I'm trying to code up the following linear program:
min norm(f(x)-d,1)
So essentially, I'm just trying to minimise the 1-norm of a function, f(x) minus the actual data, y. I've seen online that this problem can be reduced to:
min sum(i=1 to n) g(x[i]) s.t g(x[i])>=f(x[i])-d[i] and -g(x[i])>=f(x[i])-d[i]
So it reduces to a linear program. I'm very new to matlab and I know how to write out the function f(x), I can load the data d vector. But I'm not sure how I would be able to write the linear program in matlab.
Is there a sample code that anyone could provide?
Thank you in advanced.
댓글 수: 1
The reformulation you show is the right idea, but I don't know why you would have g(x[i]). I think you would just have new variables g(i) independent of x and you would minimize over the combined parameter vector [x;g]. Also, it's not a linear program unless f(x) is linear, because otherwise the constraints are still nonlinear with respect to x. Are you saying that your f(x) is linear?
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!