constrainted regularization to solve ill conditioned problems?
5 次查看(过去 30 天)
显示 更早的评论
I am trying to solve a matrix equation of the form Ax = b (solving for x with known A and b).
prior to trying regularisation I was using lsqlin (https://uk.mathworks.com/help/optim/ug/lsqlin.html) with the constraints lsqlin(C,d,[],[],[],[],lb,ub) where lb and ub are lower and upper bounds for the allowed values of my output vector. Some (but not all) of my vector values in x should not have negative values. My results are ill-conditioned. I was wondering if anyone is aware of any type of regularisation (e.g. Tikhonov) that has lb or ub constraints such that I can make some (but not all) of my values in x non-negative?
For context:
I have tried using Tikhonov regularisation (the example code given here: https://uk.mathworks.com/matlabcentral/fileexchange/130259-arls-automatically-regularized-least-squares?s_tid=prof_contriblnk - the response from 15 Mar 2024). The issue is that this code does not have any constraints.
0 个评论
采纳的回答
Matt J
2024-5-2
编辑:Matt J
2024-5-2
To implement Tikhonov regularisation in lsqlin,
C=...
d=...
lb=...
ub=...
beta=0.0001; %regularization weight
I=eye(numel(lb));
C=[C;beta*I];
d(height(C))=0;
x = lsqlin(C,d,[],[],[],[],lb,ub)
2 个评论
Matt J
2024-5-2
This scheme can also be modified to accomodate second order TV regularization,
I=diff(eye(numel(lb)));
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!