How to get a number with significant k-digits in MatLab? - vpa -- MatLab

 How to get a number with significant k-digits in MatLab? - vpa -- MatLab


How to get a number with significant k-digits in MatLab?
[Ans]
vpa

[syntax]
vpa(x)
vpa(x,a)


[description]
vpa(x,a) 
It will return x with significant k-digits.
The default value of k is digitOld
where it is 32 by default.
You can also set the value digitOld through the keyword digits

more details on digits:

[NOTE]
Don't know about the meaning of significant k-digits. You can see the link in the section below which named "chinese definition".
This link gives a great definition.



more details on:
MathWork official doc

chinese definition

code:
clear
clc
fprintf("pi in 5 precision in a float-point number.\n")
pi
fprintf("pi in 32 precision in a float-point number.\n")
pi32 = vpa(pi)
fprintf("pi in 32 precision in a float-point number.\n")
pi32 = vpa(pi,32)
fprintf("pi in 31 precision in a float-point number.\n")
pi31=vpa(pi,31)
fprintf("pi in 3 precision in a float-point number.\n")
digitsOld=digits(3);
pi3=vpa(pi)
fprintf("current float-point precision.\n")
digitsOld

result:

pi in 5 precision in a float-point number.

ans =

3.1416

pi in 32 precision in a float-point number.

pi32 =

3.14

pi in 32 precision in a float-point number.

pi32 =

3.1415926535897932384626433832795

pi in 31 precision in a float-point number.

pi31 =

3.14159265358979323846264338328

pi in 3 precision in a float-point number.

pi3 =

3.14

current float-point precision.

digitsOld =

3

 

Comments