Matlab 如何在原始数组中查找已排序数据的索引? 让我们考虑下面的代码 >> B=xlsread('data_generations1','A1','g8:g301'); >> [pxx,f]=periodogram(B,[],[],100); >> [peaks,location]=findpeaks(pxx); >> [sorted_peaks,i]=sort(peaks,'descend'); >> stem(sorted_peaks) >> plot(location,peaks) >> plot(f,pxx) >>

Matlab 如何在原始数组中查找已排序数据的索引? 让我们考虑下面的代码 >> B=xlsread('data_generations1','A1','g8:g301'); >> [pxx,f]=periodogram(B,[],[],100); >> [peaks,location]=findpeaks(pxx); >> [sorted_peaks,i]=sort(peaks,'descend'); >> stem(sorted_peaks) >> plot(location,peaks) >> plot(f,pxx) >>,matlab,sorting,Matlab,Sorting,我的目标是根据排序后的峰值来安排频率,我将其按降序排序,所以我的目标是,首先应该是出现最大排序后的峰值的频率,等等,那么我如何管理它呢?提前感谢 编辑: 这样对吗 >> freq=f(location); >> freq(i) 据我所知,您的编辑确实是正确的: >> freq_peaks = f(location); >> sorted_freq_peaks = freq_peaks (i); 据我所知 location(i)

我的目标是根据排序后的峰值来安排频率,我将其按降序排序,所以我的目标是,首先应该是出现最大排序后的峰值的频率,等等,那么我如何管理它呢?提前感谢

编辑: 这样对吗

>> freq=f(location);
>> freq(i)

据我所知,您的编辑确实是正确的:

>> freq_peaks        = f(location);
>> sorted_freq_peaks = freq_peaks (i);

据我所知

location(i) 
将为您提供匹配峰值的排序顺序

所以

会给你匹配的图

sorted_locations = locations(i)
plot(sorted_locations, sorted_peaks)