我刚刚发现了一个非常奇怪的事情:使用“随机”功能时,“找到”在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
你知道为什么吗?
感谢。
答案 0 :(得分:1)
这是因为当您在b = random('unif',1,3,1,4)
中显示值时,它们仅显示在屏幕上,其数字少于实际数字...请参阅format命令以显示更多数字......
无论如何,你永远无法显示所有数字,你唯一的选择就是找到一些公差值:
find(abs(b - 2.7994) <= 0.0001)