2016-06-21 68 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

相關問題