bai*_*ter 1 arrays matlab vector
我已经执行了这段代码,但它并没有像我期望的那样工作:
A = 1:0.1:1.4
A =
1.0000 1.1000 1.2000 1.3000 1.4000
A == 1.3000
ans =
0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我以为我会得到:
ans =
0 0 0 1 0
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?我怎样才能让它按照我的意愿运作?
谢谢.
比较浮点数时通常会这样.试试A(4)-1.3.它会给你一些小而不是零的东西.那是因为浮点数具有有限的精度.一般来说,最好不要使用浮点数来测试相等性.
通常的方法是定义一个小容差(例如1e-9)并比较考虑该容差:
abs(A-1.3)<1e-9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |