EDA365电子论坛网

标题: 在matlab中,怎样对数值的有效位数进行设置? [打印本页]

作者: Uqzalq    时间: 2020-5-6 13:37
标题: 在matlab中,怎样对数值的有效位数进行设置?
在matlab中,怎样对数值的有效位数进行设置?# G; U( e* w0 p2 A5 _# |

作者: NingW    时间: 2020-5-6 14:03
. Z3 P+ p( E4 y! ]% ], C
一般用format改变精度,format short是单精度;format long是双精度。5 V! K, `/ `' S) a0 d- N* @
也可以用digits。例如:
# R- A* H' \7 Q+ A/ ?  jdigits(5)
5 ^0 I: U, S/ ~! y7 \$ E8 qvpa(pi)! ^" X! z5 u; x+ i6 L
digits(10): [) R1 ?3 C. R# A+ D6 t
vpa(pi)
作者: ExxNEN    时间: 2020-5-6 14:07
其实不是那个样子的,只是显示在命令窗口中的是四位,但是MATLAB在计算过程中是有很高的精度的,根据你的设置来定。这样的积累误差也是很小的。
+ U: I5 h/ O! t1 t可以用二楼的方法来设置。或者:7 s, ^% F6 U2 _- n- S& X
1 \8 o; l' B# {( |
' I- T4 e' a; Z! m

作者: yin123    时间: 2020-5-6 16:18
如楼上所述,那只是matlab对数据的显示方式,其实不管显示的有效位数是多少,都不影响实际的计算结果,也不会有多大的累计误差。有效位数是4或8位,其计算结果的误差是一样的。 在命令窗口中输入eps,就能看看matlab默认的零值是多少了:2.2204e-016!够小了吧?
作者: SsaaM7    时间: 2020-5-6 16:49
来看看,学习学习
作者: NNNei256    时间: 2020-5-7 17:21
来看看,学习学习
$ T" v- `$ d) i7 u& S1 j
作者: CCxiaom    时间: 2020-5-7 17:22
2楼和3楼的方法都试了一遍,哈哈哈
作者: regngfpcb    时间: 2020-5-8 13:26
学习啦
作者: pcbwenrou    时间: 2020-5-8 14:19
看问题也是有收获的
作者: CCxiaom    时间: 2020-5-9 14:44
原来问题也有精华可以学到啊
作者: youOK    时间: 2020-5-11 15:26
三人行必有我师
作者: tutututut    时间: 2020-5-12 11:21
来学习学习,看神仙打架




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2