A Generalized NMF-Based Method for Analyzing Time-Resolved Spectroscopic Data
Authors/Creators
Description
The code follows generalized analytical strategy based on non-negative matrix factorization for processing time-resolved spectroscopic data. It separates pure spectra and associated kinetics of individual species from single time-resolved spectroscopic dataset.
The code is implemented in matlab and includes 4 files: main optimization algorithm, additional algorithm as well as optimization functions for both of them included as separate files. Main algorithm always should be run first, use of additional algorithm is optional. Optimization criteria in main algorithm is universal, while in additional algorithm criteria should be adjusted to every individual problem and spectral region of interest.
To run the code load all functions in the matlab; simulated dataset ("testdata.mat") is included for tests.
Start with executing "script_main.m" first, it will offer to enter number of components; the code will call "opt_func.m" automatically.
To run additional algorithm, execute "script_optimize.m" after receiving results from the first part of the algorithm. Follow instructions within the code of "opt_func_9.m" to specify region of interests.
Detail description of the code could be found in assoctiated publication (https://doi.org/10.1021/acs.jpca.6c00974).