2016-06-21 62 views
0

我使用了Sloan Digital Sky Survey(SDSS)数据,并获得了最终数据产品this文件。第一列是wLength(波长),第二列是flux删除非唯一值并重新排列矢量

将012存储在zero_F变量zero_F = find(a==0)中,我使用wLength(zero_F)=[];flux(zero_F)=[];将它们从两列中删除。我想绘制wLengthfluxflux依赖于wLength,但wLength包含非唯一值。

如何获取数据中非唯一值的索引,以便我可以从wLengthflux中删除相应的索引以制作相同大小的数组并绘制它们。此外,由于返回0这意味着wLength未排序,但整理出它肯定会更改它的值与flux的对应关系,我如何根据wLength值排序flux值。

我读过关于排序x vs yherehere但我完全没有得到答案。

+1

有没有可能为你上传的文件到不要求用户名的来源?或者更好 - 复制并粘贴足以重现问题的代表行。如果你也粘贴了你所描述的所有内容的代码段,你就会更容易理解(并帮助你) - 你不希望人们浪费精力编写你已经写过的东西,而不是专注于解决你的具体问题, 对? –

+0

我很抱歉,我不知道Dropbox在文件共享方面有这样的限制。你会友善地推荐我的一些网站,我可以上传我的东西用于SO? –

回答

1

你可以尝试这样的事:

% Get unique values from wLength 
[wLengthUn, iUn, ~] = unique(wLength); 
fluxUn = flux(iUn); 

% Sort the arrays, if needed 
[wLengthSrt, iSrt] = sort(wLengthUn); 
fluxSrt = fluxUn(iSrt); 

% Plot data 
plot(fluxSrt, wLengthSrt) 
+0

非常感谢,这是非常干净,做得很好 –

+0

不客气,我很乐意提供帮助。 – ibanjo

相关问题