我有一个代码,它读取我的数据文件,并在图形中给我一些光谱。这些光谱中的一些是饱和的,我需要将它们排除在我的图表之外。我无法附加图片,以显示图表和饱和光谱区域的图表,因为我是新来的网站。
这是绘制此图片的命令:
plot(spectra.wavelength(spectrometer.pixel_range)*1e9,
spectra.smooth_counts(spectrometer.pixel_range,:));我需要在Y轴上确定一个阈值(例如:整个Y标度0.9的90% ),并编写一个命令来排除高于阈值的光谱(饱和光谱)。
当我花了很多时间来解决这个问题时,我真的很感激任何对我所面临的这个困难的帮助或指导。这是一个命令的问题,我相信,我在MATLAB中并不是很好。
提前谢谢你
发布于 2014-07-08 05:14:33
查看prctile函数。如果我没看错的话,spectra.wavelength(spectrometer.pixel_range)只是一个一维数组的值,所以你可以使用prctile找到一个treshold,然后创建一个等于或低于这个阈值的一维数组。
y1 = spectra.wavelength(spectrometer.pixel_range)
thres = prctile(y1,[90],1);
y_adjusted = y1((y1(:) <= thres(:)));然后你就可以从那里开始绘图。当然,如果spectra.wavelength(spectrometer.pixel_range)不只是一个一维数组,则需要进行一些调整,因此您可能需要进一步描述该变量
https://stackoverflow.com/questions/24618977
复制相似问题