声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5409|回复: 3

[编程技巧] Matlab中如何控制数值计算的精度?

[复制链接]
发表于 2008-10-13 14:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
Matlab中如何控制数值计算的精度?
例如:我想要精确到10的-20次方,该怎么设置?
回复
分享到:

使用道具 举报

发表于 2008-10-13 14:51 | 显示全部楼层
matlab默认的是双精度,大约在1e-16,再要精确可能就有些困难了。
发表于 2008-10-13 16:51 | 显示全部楼层
用符号计算吧,可能能精确点儿。
用vpa可以弄到小数点儿后面很多位。
下面是个测试,结果有点儿意外——用不用符号都是一样。

  1. >> a=sqrt(5)
  2. a =
  3.     2.2361
  4. >> syms as
  5. >> as=sqrt(5)
  6. as =
  7.     2.2361
  8. >> vpa(a,20)
  9. ans =
  10. 2.2360679774997896964
  11. >> vpa(as,20)
  12. ans =
  13. 2.2360679774997896964
  14. >> vpa(as,100)
  15. ans =
  16. 2.236067977499789696409173668731276235440618359611525724270897245410520925637804899414414408378782275
  17. >> vpa(a,100)
  18. ans =
  19. 2.236067977499789696409173668731276235440618359611525724270897245410520925637804899414414408378782275
复制代码

评分

1

查看全部评分

发表于 2009-4-28 14:59 | 显示全部楼层
我就不清楚了,显示精度和计算精度有什么区别,我要的计算精度,为什么都理解成显示精度了!郁闷!

[ 本帖最后由 ChaChing 于 2009-4-28 15:38 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 05:47 , Processed in 0.070956 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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