makepeak.m
来自「Continuous Profile Models (CPM) Matlab T」· M 代码 · 共 31 行
M
31 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function tmpSig = makePeak(position,width,height,signalLength,noise,baseValue,dataScale)numPeaks=length(position);tmpSignal = makeFlat(signalLength,noise,baseValue);tmpSig = tmpSignal;for pk=1:numPeaks ht = dataScale*height(pk); tmpPeak = mkGaussian([1,width(pk)],sqrt(width(pk))); tmpPeak = tmpPeak*ht/max(tmpPeak); left = round(position(pk) - (length(tmpPeak)/2)); right = round(left + length(tmpPeak)-1); tmpSig(left:right)=tmpPeak + tmpSig(left:right);end% figure, plot(tmpSig,'+-');%% now add noisetmpSig = tmpSig + randn(size(tmpSig))*noise;tmpSig(tmpSig<0)=baseValue;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function tmpSignal = makeFlat(signalLength,noise,baseValue)%% make flat bit:tmpSignal = randn(1,signalLength);tmpSignal = tmpSignal*noise + baseValue;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?