how do I fit a Raman spectrum that has multiple peaks using Gaussian bands?
43 次查看(过去 30 天)
显示 更早的评论
Hi everyone, I need to rent experimental data divided into two separate columns x and y, with the app Curve fitting I can do it but I display little information, for example I would like to view all 7 bands of the fit and not just the sum, I also want to get a table that contains all the Fitted data.
4 个评论
采纳的回答
Hiro Yoshino
2023-6-28
How about trying GMM?
This is a standard way to estimate multiple gaussian distribution over the data using EM method.
2 个评论
Hiro Yoshino
2023-6-28
@Salvatore Maida You may need to tweak the setting (params and etc...) to make it converge as you wish but this technique is for it.
更多回答(1 个)
Salvatore Maida
2023-6-28
6 个评论
Mathieu NOE
2023-7-6
finally decided to give a try with peakfit
so with a limited amount of time we can get a fairly good result (thanks to the author of the submission ! )
if you give some good initial guess values (position and width) you get this output :
load('data.mat');
data = MD700;
ind = data(:,1)<850; % we don't want to use the data above x = 850
data = data(ind,:);
Np = 5; % number of peaks
trials = 10; % number of trials , keep the best one
IG = [160 20 350 300 450 100 500 80 600 200]; % initial guess : [position1 width1 position2 width2 ... ]
% nb the number of peaks Np must be coherent with the size of IG (twice as
% big)
peakfit(data,0,0,Np,1,0,trials,IG)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!