will give you 4 digit symbolic numbers.
arrayfun(@(X) sprintf('%.4f',X), x, 'uniform', 0)
Or
cellstr(num2str(x(:), '%.4f')).'
will give you a cell array of strings representation.
will give you integers with an implied decimal point.
But if you are looking for floating point values with exactly 4 decimal places then the symbolic version is as close as you can get. The fraction 1/10 requires an infinite repeating value in binary, just like 1/7 requires an infinite repeating value in decimal. You just cannot represent 0.8462 exactly in binary.
Best Answer