Я хочу оценить разницу (смещение) между всеми элементами вектора и получить максимум в результате.
Например, с
[1 3 7]
Различия 2, 4 и 6, так что результат должен быть 6.
Как я могу сделать это с Matlab умным способом?
Максимальная разница между любыми двумя элементами в массиве - это разница между максимальным и минимальным значением массива:
x = [1 3 7]; maxDifference = max(x) - min(x) maxDifference = 6
Вы можете сделать это.
x = [1 7 3]; % order doesn't matter MaxDiff = range(x)
Примерно так (проверено в октаве):
x = [1 3 7]; max(abs(x - [x(2:end) x(1)]))