Matlab, удалить элементы из массива, которые меньше среднего? - PullRequest
9 голосов
/ 09 января 2012

Привет, у меня проблема с написанием этого с Matlab. Так

Ситуация: массив содержит, например, (100, 90, 80, 4, 2, 200). Я хочу вычислить среднее значение этих чисел и после этого хранить только те числа, которые равны или превышают среднее значение.

Может кто-нибудь сказать мне, как это можно сделать?

Ответы [ 2 ]

16 голосов
/ 09 января 2012

Лично я предпочитаю

x(x < mean(x)) = [];

, поскольку это дает понять, что вы удаляете элементы из массива, а не создаете массив с подмножеством элементов, которые, как оказалось, имеют одинаковые имена.

Обратите внимание, что в среднем не должно быть разницы в производительности между этим и

x = x(x >= mean(x));
5 голосов
/ 09 января 2012

Скажем, ваш массив равен x, тогда вы можете сделать это следующим образом:

x = x(x >= mean(x))
...