我在不同的时间步骤中使用来自不同场景的相同类型的输出数据。我需要找出值的差异,如果有的话。
例如,数据列:
Timestep, DataX_derivedfromA, DataX_derivedfromB, DataXderivedfromC, DataXderivedfromD
如何确定每个时间步的最大差异 我可以使用哪些其他统计方法来显示值的差异?
感谢。
答案 0 :(得分:0)
任何两个元素之间的最大差异将是最大和最小之间的差异:
data = [1 -1 5 2; -3 -7 3 4];
max_diff = max(data, [], 2) - min(data, [], 2)
max_diff =
6
11
您可以使用blkproc找到负责最小值和最大值的列的索引(如果您没有映像工具包,则可以从文件交换中找到blockfun)。
fun = @(x) [find(x==min(x)) find(x==max(x))];
idx = blkproc(data, [1 4], fun)
idx =
2 3
2 4
答案 1 :(得分:0)
我可能会误解你想要达到的目标,但希望这会有所帮助:
fromA = [1 2 3 5];
fromB = [1 3 4.5 2];
M = [fromA; fromB];
option1 = max(diff(M')')
或许你正在寻找这个:
option2 = max(M) - min(M)