首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MATLAB在图形中排除超过确定阈值的饱和频谱

使用MATLAB在图形中排除超过确定阈值的饱和频谱
EN

Stack Overflow用户
提问于 2014-07-08 04:11:43
回答 1查看 72关注 0票数 0

我有一个代码,它读取我的数据文件,并在图形中给我一些光谱。这些光谱中的一些是饱和的,我需要将它们排除在我的图表之外。我无法附加图片,以显示图表和饱和光谱区域的图表,因为我是新来的网站。

这是绘制此图片的命令:

代码语言:javascript
复制
plot(spectra.wavelength(spectrometer.pixel_range)*1e9,
spectra.smooth_counts(spectrometer.pixel_range,:));

我需要在Y轴上确定一个阈值(例如:整个Y标度0.9的90% ),并编写一个命令来排除高于阈值的光谱(饱和光谱)。

当我花了很多时间来解决这个问题时,我真的很感激任何对我所面临的这个困难的帮助或指导。这是一个命令的问题,我相信,我在MATLAB中并不是很好。

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2014-07-08 05:14:33

查看prctile函数。如果我没看错的话,spectra.wavelength(spectrometer.pixel_range)只是一个一维数组的值,所以你可以使用prctile找到一个treshold,然后创建一个等于或低于这个阈值的一维数组。

代码语言:javascript
复制
y1 = spectra.wavelength(spectrometer.pixel_range)
thres = prctile(y1,[90],1);
y_adjusted = y1((y1(:) <= thres(:)));

然后你就可以从那里开始绘图。当然,如果spectra.wavelength(spectrometer.pixel_range)不只是一个一维数组,则需要进行一些调整,因此您可能需要进一步描述该变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24618977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档