Разница между данными

#matlab #statistics

#matlab #Статистика

Вопрос:

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

Например, столбцы данных:

 Timestep, DataX_derivedfromA, DataX_derivedfromB, DataXderivedfromC, DataXderivedfromD
  

Как я могу узнать, является ли максимальная разница на каждом временном шаге.
Какие другие статистические методы я мог бы использовать, чтобы показать разницу в значениях?

Спасибо.

Ответ №1:

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

 data = [1 -1 5 2; -3 -7 3 4];
max_diff = max(data, [], 2) - min(data, [], 2)
max_diff =
6
11
  

Вы можете найти индексы столбцов, ответственных за минимальные и максимальные значения, используя blkproc (или blockfun из File Exchange, если у вас нет инструментария для создания изображений).

 fun = @(x) [find(x==min(x)) find(x==max(x))];
idx = blkproc(data, [1 4], fun)

idx =
 2     3
 2     4
  

Ответ №2:

Возможно, я неправильно понимаю, чего вы пытаетесь достичь, но, надеюсь, это поможет:

 fromA = [1 2 3 5];
fromB = [1 3 4.5 2];

M = [fromA; fromB];

option1 = max(diff(M')')
  

Или, возможно, вы ищете это:

 option2 = max(M) - min(M)