开方一个很小的数也会有问题。 |
granvia 发表于 2018-9-22 14:03 exp(-x)/2/x*( (1-3/x+3/x^2)*exp(x) - (1+3/x+3/x^2)*exp(-x) )也是要进行Taylor展开计算的。直接算还是有误差。 之所以选择第二个形式,是因为它的Taylor展开是x^2+x^4+x^6....形式的,比直接展开x^2/15(..)收敛要快的多。 |
多谢分享,确实是应该仔细注意的问题 |
本帖最后由 granvia 于 2018-9-22 14:05 编辑 我机子上的MATLAB的eps是2.22044604925031e-16 |
本帖最后由 granvia 于 2018-9-22 14:09 编辑 验证了一下,用Taylor展开exp(-2*x)前4项得到的表达式是:x^2/15*(2*x^2+x+1) = 6.67334666666667e-08 而直接用MATLAB算式子exp(-x)/2/x*( (1-3/x+3/x^2)*exp(x) - (1+3/x+3/x^2)*exp(-x) )得到的是2.32597929386742e-07 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2024-11-23 21:18 , Processed in 0.185647 second(s), 27 queries , Gzip On.