#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)