您的位置首页 >生活百科 >

matlab vpa是什么意思?

您好,今天芳芳来为大家解答以上的问题。matlab vpa是什么意思?相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、matlab控制运算精度用的是digits和vpa这两个函数digits用于规定运算精度,比如:digits(20);这个语句就规定了运算精度是20位有效数字。

2、但并不是规定了就可以使用,因为实际编程中,可能有些运算需要控制精度,而有些不需要控制。

3、vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。

4、例如:digits(5);a=vpa(sqrt(2)); 这样a的值就是1.4142,而不是准确的1.4142135623730950488016887242097又如: digits(5); a=vpa(sqrt(2)); b=sqrt(2); 这样a的值是1.4142,b没有用vpa函数,所以b是1.4142135623730950488016887242097...... vpa函数对其中每一个运算都控制精度,并非只控制结果。

5、 digits(11); a=vpa(2/3+4/7+5/9); b=2/3+4/7+5/9; a的结果为1.7936507936,b的结果为1.793650793650794......也就是说,计算a的值的时候,先对2/3,4 /7,5/9这三个运算都控制了精度,又对三个数相加的运算控制了精度。

6、而b的值是真实值,对它取11位有效数字的话,结果为1.7936507937,与a不同,就是说vpa并不是先把表达式的值用matlab本身的精度求出来,再取有效数字,而是每运算一次,都控制精度。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!