Converting a matrix to formatted text
When exporting a matrix of numbers for display in another program (eg. using xlswrite()), it may be useful to apply a format, such as limiting the number of decimals or adding external commands.
matlab limitations:
- xlswrite() does not have a format option.
- num2str() converts a row into a single string, which exports as one character per cell.
- num2str() can't be applied to a cell array.
This simple function converts each element to a character cell in an array using arrayfun() and a nested function that applies the format string with num2str().
Option: add the optional argument 'sparse' to convert 0 values to blank cells using cellfun() and a nested function.
The nested functions use variables available to the parent function.
sample run:
A = rand(3,5); A(2,1:3) = 0; % table with a few 0 values
txtA = makeTextTable(A,'%.2f'); % convert to text with 2 decimals
txtA = makeTextTable(A,'%.2f','sparse'); % convert to text with 2 decimals (no zeros)
Cite As
Renee (2026). Converting a matrix to formatted text (https://www.mathworks.com/matlabcentral/fileexchange/37169-converting-a-matrix-to-formatted-text), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 |
