在数组中找到n个最小值

Vis*_*bot 6 matlab minimum minima

我正在使用Matlab 2012a.

我有一组k个单元格(比如说1000).我需要找到这个数组的5个最低值,并且需要对X和Y中的那些值进行平均.

任何人都知道如何做到这一点?

Flo*_*ris 13

假设您有数组X和Y,并且您想要找到五个最低的Y值:

[m mi] = sort(Y);
lowest5index = mi(1:5);
lowest5Y = Y(lowest5index);
lowest5X = X(lowest5index);

meanYlowest5 = mean(lowest5Y);
meanXlowest5 = mean(lowest5X);
Run Code Online (Sandbox Code Playgroud)

说明:

sort带有两个输出参数的命令将返回已排序的数组(in m)和原始数组中的索引(mi).前五个指数mi(1:5)对应五个最低值.取meanX和Y的这些值将做我们想要的.如果我不理解您的问题陈述,请澄清您的问题,我会再次拍摄.