matlab有效数字判断,matlab – 使用变精度算术获得数字的第一个有效数字

本文探讨了在MATLAB中使用vpa进行变精度算术时如何确定数字的第一个有效数字,针对vpa结果的不可预测性,提出了根据需要的位数W和不必要的数字特征(N, A)调整额外位数E的策略,以确保获得正确的前W位数字。通过不断尝试增加E,直到找到非零的最后一位,从而确定有效数字。" 132399423,19687569,R语言创建数据集与新增数字列教程,"['R语言', '数据操作', '编程']
摘要由CSDN通过智能技术生成

首先,似乎无法预测vpa何时会离开或朝零.以下结果与“离零的一半”,“一半到一半”或任何一个

usual rules不一致:

>> disp(vpa(sym('0.135'),2))

0.14

>> disp(vpa(sym('0.125'),2))

0.12

>> disp(vpa(sym('0.115'),2))

0.11

Octave的结果也不一致,与Matlab的结果不同:

>> disp(vpa(sym('0.135'),2))

0.14

>> disp(vpa(sym('0.125'),2))

0.13

>> disp(vpa(sym('0.115'),2))

0.11

这种不可预测性并没有真正影响答案,但它强制用更通用的术语表达,而不假设任何特定的舍入规则.

设W是想要的位数.超出该数字的所有数字将被称为不需要的数字.令N为不需要部分中的(可能为零)初始9的数量,如果不是9的第一个不需要的数字导致前一个数字从零舍入,则令A = 1,否则A = 0.该图说明了这一点.

bcab02243d472520aa1ac42ff0fc6663.png

根据问题中的观察,有四种可能的情况.在以下示例中,有用数字的数量是W = 3,并且使用Matlab.

> N = 0,A = 0:不需要额外的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值