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

 採用された回答

Star Strider
Star Strider 2024 年 1 月 22 日

0 投票

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

その他の回答 (1 件)

Sai Teja G
Sai Teja G 2024 年 1 月 22 日

0 投票

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 ExchangeMATLAB についてさらに検索

製品

リリース

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by