найти максимальную разницу между элементами в векторе - PullRequest
1 голос
/ 27 февраля 2012

Я хочу оценить разницу (смещение) между всеми элементами вектора и получить максимум в результате.

Например, с

[1 3 7]

Различия 2, 4 и 6, так что результат должен быть 6.

Как я могу сделать это с Matlab умным способом?

Ответы [ 3 ]

6 голосов
/ 27 февраля 2012

Максимальная разница между любыми двумя элементами в массиве - это разница между максимальным и минимальным значением массива:

x = [1 3 7];
maxDifference = max(x) - min(x)
maxDifference =
     6
5 голосов
/ 26 сентября 2012

Вы можете сделать это.

x = [1 7 3];   % order doesn't matter
MaxDiff = range(x)
1 голос
/ 27 февраля 2012

Примерно так (проверено в октаве):

x = [1 3 7];
max(abs(x - [x(2:end) x(1)]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...