数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: 下天

[原创]MatLab中的数值陷阱

[复制链接]
发表于 2003-8-13 17:12:09 | 显示全部楼层
1/(1.4/0.1)-1/14    答案是1.3878e-017可以认为是相等了,用不着那么精确吧,
 楼主| 发表于 2003-8-13 18:32:44 | 显示全部楼层
1/(1.4/0.1)-1/14    答案是1.3878e-017可以认为是相等了,用不着那么精确吧


  t2=1.4/0.1-14;         --> t2= -1.7764e-015
  所以,1:1.4/0.1等价于1:14-1.7764e-015,等价于1:u。(u为大于等于13小于14的实数)
 楼主| 发表于 2003-8-13 18:43:24 | 显示全部楼层
btw,该数值陷阱的发现来源于一次数据精细化的过程
  当时,我设定步长为step=0.1,数据范围为max=-21;min=-22.4;然后准备求函数在min:step:max上的值,于是用了如下语句:
  1max-min)/step;
  期望得到14个数据点的值,可是程序总是报错;用whos命令一查,发现只有13个数据,这才明白上述语句与1:14不等价。
发表于 2003-8-15 22:54:57 | 显示全部楼层
支持
发表于 2003-8-16 06:20:09 | 显示全部楼层
xiexie
发表于 2004-6-1 05:55:16 | 显示全部楼层
<>好的</P><>果然厉害</P><>我还每遇到过</P><P>不过我以后会想想的</P><P>多谢提醒</P>
发表于 2004-6-25 06:06:55 | 显示全部楼层
<>数值计算确实比较复杂</P><>以后要多加小心了</P><>谢谢提醒!!</P>
发表于 2004-7-5 04:52:19 | 显示全部楼层
<>toby: " 还有就算我是菜鸟,
     不也有笨鸟先飞吗!
      我不会有事的!"</P><>说的好啊!!向所有自以为是的人笑三笑,笑到最后!!</P><>祝你成功!不希望一路顺风,但是愿你有精彩人生!
</P>[em07]
发表于 2004-8-3 17:09:56 | 显示全部楼层
<>嗯!</P>
发表于 2004-8-22 01:44:20 | 显示全部楼层
这个是matlab中的数值陷阱!
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2019-12-13 23:40 , Processed in 0.069556 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表