这个程序用来寻找输入的两组数据(x,y)的峰,并计算其半高全宽和其他参数。
开始比较容易懂,后来到了程序主体部分,看不明白,看了好长时间,可能因为知识结构不全面,看不懂了。希望再此能得到大家的帮助,多谢啦。
可能主要是程序的设计思路没有明白。
程序在下面附件中,不明白的部分用红字标出
function[output] = autopeak(x,y)
% INITIALIZATION初始化
% set detection sensitivity parameters设置灵敏度参数为黄金分割1.618
% the golden ratio seems to work exceptionally fine :)
nfwhms = 1.6180;%1.6180;半高全宽
nstds = 1.6180;%1.6180;标准偏差
% put signal to columns if not so yet检查输入信号
shape = size(x);
ifshape(2) > 1
x = x';
end
shape = size(y);
ifshape(2) > 1
y = y';
end
% smooth signal, determine its baseline and detection threshold平滑信号
y = smooth(y);
threshold = nstds * std(y);%设定阈值
% plot the signal
%画图
pl