删除非唯一值并重新排列向量
Removing non-unique values and rearranging vectors
我使用斯隆数字巡天 (SDSS) 数据,得到了 this 文件的最终数据产品。第一列是 wLength
(波长),第二列是 flux
。
将零存储在 zero_F
变量 zero_F = find(a==0)
中,我使用 wLength(zero_F)=[];
和 flux(zero_F)=[];
从两列中删除了它们。我想绘制 wLength
vs flux
,flux
依赖于 wLength
但 wLength
包含非唯一的值。
如何获取数据中非唯一值的索引,以便我可以从 wLength
和 flux
中删除相应的索引,以制作相同大小的数组并绘制它们。另外,由于 issorted(wLength)
返回 0
这意味着 wLength
没有被整理出来,但是整理它肯定会改变它的值与 flux
的对应关系,如何我可以根据 wLength
值对 flux
进行排序吗?
我阅读了有关排序 x
与 y
here and here 的内容,但我完全没有得到答案。
您可以尝试这样的操作:
% 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)
我使用斯隆数字巡天 (SDSS) 数据,得到了 this 文件的最终数据产品。第一列是 wLength
(波长),第二列是 flux
。
将零存储在 zero_F
变量 zero_F = find(a==0)
中,我使用 wLength(zero_F)=[];
和 flux(zero_F)=[];
从两列中删除了它们。我想绘制 wLength
vs flux
,flux
依赖于 wLength
但 wLength
包含非唯一的值。
如何获取数据中非唯一值的索引,以便我可以从 wLength
和 flux
中删除相应的索引,以制作相同大小的数组并绘制它们。另外,由于 issorted(wLength)
返回 0
这意味着 wLength
没有被整理出来,但是整理它肯定会改变它的值与 flux
的对应关系,如何我可以根据 wLength
值对 flux
进行排序吗?
我阅读了有关排序 x
与 y
here and here 的内容,但我完全没有得到答案。
您可以尝试这样的操作:
% 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)