golden
发表于 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上的值,于是用了如下语句:
1:(max-min)/step;
期望得到14个数据点的值,可是程序总是报错;用whos命令一查,发现只有13个数据,这才明白上述语句与1:14不等价。
xzhforward
发表于 2003-8-15 22:54:57
支持
onward
发表于 2003-8-16 06:20:09
xiexie
kissiopo
发表于 2004-6-1 05:55:16
<P>好的</P><P>果然厉害</P><P>我还每遇到过</P><P>不过我以后会想想的</P><P>多谢提醒</P>
blackboy
发表于 2004-6-25 06:06:55
<P>数值计算确实比较复杂</P><P>以后要多加小心了</P><P>谢谢提醒!!</P>
dztboy
发表于 2004-7-5 04:52:19
<P>toby: " 还有就算我是菜鸟,
不也有笨鸟先飞吗!
我不会有事的!"</P><P>说的好啊!!向所有自以为是的人笑三笑,笑到最后!!</P><P>祝你成功!不希望一路顺风,但是愿你有精彩人生!
</P>
fanbe82
发表于 2004-8-3 17:09:56
<P>嗯!</P>
海岩秋沙
发表于 2004-8-22 01:44:20
这个是matlab中的数值陷阱!