Construct spectrum from peak positions and amplitudes.
spec = makespec(Range,nPoints,Pos) spec = makespec(Range,nPoints,Pos,Amp) [x,spec] = makespec(...)
makespec
collects the peaks with positions listed in Pos
and amplitudes listed in Amp
into a spectral vector spec
.
The 2-element array Range = [minX maxX]
specifies the range of the abscissa,
and nPoints
gives the number of points. If requested, the abscissa is
returned in x
.
If Amp
is not given, all amplitudes are set to 1.
Peaks that fall outside the specified range are neglected.
A simple demonstration bins a number of peaks with random positions and amplitudes into a spectral vector.
N = 20; pos = rand(1,N); amp = rand(1,N); [x,s] = makespec([-0.2,0.7],2000,pos,amp); plot(x,s)