“find”命令在MATLAB 7.8.0中没有产生正确的输出

时间:2015-03-04 18:03:15

标签: matlab find

我刚刚发现了一个非常奇怪的事情:使用“随机”功能时,“找到”在MATLAB 7.8.0(R2009a)中找不到任何东西!有谁知道原因?例如:

  
    

B =随机( 'UNIF',1,3,1,4)

  

b =

1.2978    2.7994    1.9008    1.4113
  
    

查找(B == 2.7994)

  

ans =

空矩阵:1乘0

如您所见,第二个元素是2.7994。

有趣的是,当我手动定义b如下时,“find”可以产生正确的输出:

  
    

b = [1.2978 2.7994 1.9008 1.4113]

  

b =

1.2978    2.7994    1.9008    1.4113
  
    

查找(B == 2.7994)

  

ans =

 2

你知道为什么吗?

感谢。

1 个答案:

答案 0 :(得分:1)

这是因为当您在b = random('unif',1,3,1,4)中显示值时,它们仅显示在屏幕上,其数字少于实际数字...请参阅format命令以显示更多数字......

无论如何,你永远无法显示所有数字,你唯一的选择就是找到一些公差值:

find(abs(b - 2.7994) <= 0.0001)