How do I convert double to cellstr?

17 visualizzazioni (ultimi 30 giorni)
I have a vector which coul look like this: A = [2 25 1017]. I want to use these numbers in a legend of my plot. Apparently I need to convert them from double into cellstr. Thats what I get out of the error message: Cell array argument must be a cell array of character vectors. How do I convert double into cellstr?
Thanks in advance

Risposta accettata

Star Strider
Star Strider il 22 Gen 2024
Use the compose function (introduced in R2016b) —
A = [2 25 1017];
Ac = compose('%d',A)
Ac = 1×3 cell array
{'2'} {'25'} {'1017'}
.

Più risposte (1)

Sai Teja G
Sai Teja G il 22 Gen 2024
Hi Dominic, You can refer to the below code to convert double to cell array.
A = [2 25 1017];
A_str = arrayfun(@(x) num2str(x), A, 'UniformOutput', false)
A_str = 1×3 cell array
{'2'} {'25'} {'1017'}
This code snippet uses arrayfun to apply the num2str function to each element of the array A, converting each number to a string. The 'UniformOutput', false argument is used to output the results in a cell array, which is necessary for the legend function in MATLAB.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Prodotti


Release

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by