How do I convert double to cellstr?

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

 采纳的回答

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

更多回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by