Using ALS algorithm for writing a code

53 次查看(过去 30 天)
Is ALS algorithm supported by MATLAB R2019a. What is the best source of downloading the alogorithm and the reference to write the code for analysing spectral data?

回答(1 个)

Star Strider
Star Strider 2019-4-26
I’ve not run this, so I have no experience with it. It’s the only MATLAB code for the algorithm that I could find.
The slightly corrected version of the function:
function z = baseline(y, lambda, p)
% Estimate baseline with asymmetric least squares
m = length(y);
D = diff(speye(m), 2);w = ones(m, 1);
for it = 1:10
W = spdiags(w, 0, m, m);
C = chol(W + lambda * D' * D);
z = C \ (C' \ (w .* y));
w = p * (y > z) + (1 - p) * (y < z);
end
Also consider:
function z = baseline(y, lambda, p)
% Estimate baseline with asymmetric least squares
m = length(y);
D = diff(speye(m), 2);w = ones(m, 1);
for it = 1:10
W = spdiags(w, 0, m, m);
C = chol(W + lambda * (D' * D));
z = C \ (C' \ (w .* y));
w = p * (y > z) + (1 - p) * (y < z);
end
The documentation for the function is in the paper.
Experiment to get the result you want.
  5 个评论
Raimund
Raimund 2025-11-4
移动:Star Strider 2025-11-4
Hi,
thanks. This implementation works great.
Best regards,
Raimund
Star Strider
Star Strider 2025-11-4
移动:Star Strider 2025-11-4
My pleasure!
A Vote would be appreciated!

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by