evalutes pi at the Matlab level, to a double precision number, and passes that to vpa.
is equivalent, because of command / function duality, to
which would evaluate pi at the symbolic level according to the given number of digits.
Likewise, when you evaluate
you are evaluating log(2) at the Matlab level, to a double precision number. You don't want to do that if you care about precision.
I do not see at the moment a command to convert a decimal symbolic number to a fraction. Possibly
but I do not have the toolbox to test this with.
(I know the command in Maple, but it does not appear to exist in MuPad.)