楼主: zhuzhu83
2146 7

请教大侠一个MATLAB 数据计算的问题 [推广有奖]

  • 1关注
  • 2粉丝

已卖:3087份资源

硕士生

32%

还不是VIP/贵宾

-

威望
0
论坛币
10217 个
通用积分
30.3567
学术水平
-3 点
热心指数
2 点
信用等级
2 点
经验
895 点
帖子
42
精华
0
在线时间
174 小时
注册时间
2006-4-30
最后登录
2024-11-19

楼主
zhuzhu83 发表于 2010-9-30 11:40:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我用的 MATLAB 版本是 R2010a,

当我输入 (1-2*0.2)==0.6 时,得到的逻辑判断值为 1

但是输入  (1-3*0.2)==0.4 时,得到的逻辑判断值为 0

为什么会是这样的结果?两个逻辑判断应该都为 1 才对的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Lab Atl 请教 MATLAB 大侠 数值计算

沙发
ywh19860616 发表于 2010-9-30 11:48:27
逻辑判断可以用find函数吧

藤椅
zhuzhu83 发表于 2010-9-30 11:58:29
2# ywh19860616

现在问题是为什么这两个式子的计算结果会不同?

表达式和数据类型完全一样的

板凳
潺涓 发表于 2010-9-30 12:28:59
楼主啊,我是7.0的,也有这个问题,但是(1-2*0.3)==0.4得到的结果就是1,你要是找到答案了记得告诉我啊~~~
[img][/img]

报纸
zhuzhu83 发表于 2010-9-30 12:42:13
4# 潺涓

应该是浮点计算的问题,可以参考下面网址

http://matlabwiki.mathworks.com/MATLAB_FAQ#Why_is_0.3-0.2-0.1_not_equal_to_zero_.28or_similar.29.3F

地板
michaelnlitta 发表于 2010-9-30 13:01:35
学习了 貌似判断式的结果在(0,0.5)的区间内时,结果都会为0

7
rrx6658 发表于 2010-9-30 13:22:42
楼上的很强大,肯定是浮点的问题。
青史留名者——王守仁
我辈当自强!

8
Xaero 发表于 2010-9-30 13:22:44
这个涉及计算精度问题,一般我们不要直接使用==判断,而用 abs(a-b)<eps这种形式。详见:

http://blog.macro2.org/2010-09/计算精度与数值判断.html
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 06:19