lsqnonnegvect.m

vectorized lsqnonneg
281 download
Aggiornato 13 set 2016

Visualizza la licenza

This is a "vectorized" version of lsqnonneg to speed-up solving multiple non-negative least square fits of independent data vectors to a common base of model vectors. The function is based on Matlab's lsqnonneg function. I adapted the code to allow for multiple (column) data vectors and vectorized everything I could to speed-up processing.
This was developped in the context of fitting pixel intensitiy (a positive value) of every pixel in a time series of fluorescence images (N voxels, T images) to reference fluorescence time-activity curves.
The speed-up factor will vary depending on the data size, but the syntax is more compact, as shown below.
% Example : 10000 vectors of 100 time points that need to be fitted with non-negative least squares to 5 model curves

nTimePts = 100;
nDataVect = 10000;
nModels = 5;

% Data matrix
d = rand(nTimePts, nDataVect);

% Reference (model) curves
C = rand(nTimePts, nModels);

% Non-negative least-square fit
X = lsqnonnegvect(C,d);

% Instead of :
% X = zeros(nModels,nDataVect);
% for k = 1:nDataVect
% X(:,k) = lsqnonneg(C,d(:,k));
% end

Cita come

David Provencher (2024). lsqnonnegvect.m (https://www.mathworks.com/matlabcentral/fileexchange/47476-lsqnonnegvect-m), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2011b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Fit Postprocessing in Help Center e MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.1.0.0

Version 1.1 : Fixed a rare bug that could cause a crash.

1.0.0.0