找回密码
 注册
关于网站域名变更的通知
查看: 922|回复: 11
打印 上一主题 下一主题

在matlab中,怎样对数值的有效位数进行设置?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-6 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
在matlab中,怎样对数值的有效位数进行设置?
/ t+ |2 d6 S! Q' U- N, L# [

该用户从未签到

2#
发表于 2020-5-6 14:03 | 只看该作者
; h$ `2 B, ]- g4 W+ S' q
一般用format改变精度,format short是单精度;format long是双精度。
5 i1 p7 X: l1 f3 z. R) @也可以用digits。例如:  A# n3 K* q8 P  _$ M' @
digits(5)9 j# ~* ~+ ~/ h+ O% _
vpa(pi)
! ?3 c; F$ a7 G0 F! ~" Ddigits(10)
/ ^3 o0 s; d6 i6 ]9 Xvpa(pi)

该用户从未签到

3#
发表于 2020-5-6 14:07 | 只看该作者
其实不是那个样子的,只是显示在命令窗口中的是四位,但是MATLAB在计算过程中是有很高的精度的,根据你的设置来定。这样的积累误差也是很小的。
( g* N& j9 X4 p$ Z& G! E可以用二楼的方法来设置。或者:
  • 2/3
  • ans =
  •     0.6667
  • >> format long
  • >> 2/3
  • ans =
  •    0.666666666666667
  • >> vpa(2/3,10)
  • ans =
  • .6666666667

  • & s+ f4 o' [: M( Z( R
' Z  a' Y  i( K0 b7 o1 F# J

0 S, z) V$ v6 h/ G- R; \; u  C7 T) e) {, B! w
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2020-5-6 16:18 | 只看该作者
    如楼上所述,那只是matlab对数据的显示方式,其实不管显示的有效位数是多少,都不影响实际的计算结果,也不会有多大的累计误差。有效位数是4或8位,其计算结果的误差是一样的。 在命令窗口中输入eps,就能看看matlab默认的零值是多少了:2.2204e-016!够小了吧?

    该用户从未签到

    5#
    发表于 2020-5-6 16:49 | 只看该作者
    来看看,学习学习

    该用户从未签到

    6#
    发表于 2020-5-7 17:21 | 只看该作者
    来看看,学习学习
    / ^( K* I( o( A5 l: p9 s

    该用户从未签到

    7#
    发表于 2020-5-7 17:22 | 只看该作者
    2楼和3楼的方法都试了一遍,哈哈哈

    该用户从未签到

    9#
    发表于 2020-5-8 14:19 | 只看该作者
    看问题也是有收获的

    该用户从未签到

    10#
    发表于 2020-5-9 14:44 | 只看该作者
    原来问题也有精华可以学到啊

    该用户从未签到

    11#
    发表于 2020-5-11 15:26 | 只看该作者
    三人行必有我师
  • TA的每日心情
    开心
    2022-12-26 15:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    12#
    发表于 2020-5-12 11:21 | 只看该作者
    来学习学习,看神仙打架
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-17 11:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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