Mathworks technical support have diagnosed the problem. Don't know what caused it originally but the 'FloatingPointOutput' setting in the symbolic preferences was set to 1.
Here is the solution to fix it:
>> sympref
ans =
struct with fields:
FourierParameters: [1×2 sym]
HeavisideAtOrigin: [1×1 sym]
AbbreviateOutput: 1
TypesetOutput: 1
FloatingPointOutput: 1
PolynomialDisplayStyle: 'default'
MatrixWithSquareBrackets: 0
>> sympref('FloatingPointOutput','default');
>> double(sym('pi'))
ans =
3.141592653589793
>> p = sym(pi);
>> piVpa = vpa(p)
piVpa =
3.1415926535897932384626433832795
Best Answer