找不到重叠的范围

时间:2015-08-27 14:31:52

标签: matlab compare intervals

我有2个载体

Upper_bound =   [421.1706;418.7937;425.9144;431.7096];
Lower_bound =   [376.0487;395.4193;402.7083;419.0457];

表示4次测量的95%置信区间(A,B,C,D)。 如何以自动方式计算度量之间是否存在显着差异(即95%置信区间不重叠)。

我的首选输出是:

sign_diff = [0 0 0 0; 
             0 0 0 1; 
             0 0 0 0; 
             0 1 0 0];

表示A与A,B,C,D没有区别。

B与A,B,C没有区别,但它与D不同。

由于

2 个答案:

答案 0 :(得分:3)

您可以使用进行计算

sign_diff = bsxfun( @ge, Lower_bound, Upper_bound' ) |...
            bsxfun( @le, Upper_bound, Lower_bound' )

结果:

sign_diff =
 0     0     0     0
 0     0     0     1
 0     0     0     0
 0     1     0     0

答案 1 :(得分:0)

考虑Shai's answer

sign_diff = ~(bsxfun( @le, Lower_bound, Upper_bound' ) &...
             bsxfun( @ge, Upper_bound, Lower_bound' ))

我还不能评论,所以我把它作为答案发布。