Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Trasform number in strings

1 回表示 (過去 30 日間)
pamela sulis
pamela sulis 2016 年 3 月 21 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hi! I want to trasform
[674 631 1 10 144]
in
{'674' '631' '1' '10' '144'},
I have tried to use num2str but it gives me {'674 631 1 10 144'} that is different from that I want as result.
  1 件のコメント
Stephen23
Stephen23 2016 年 3 月 21 日
編集済み: Stephen23 2016 年 3 月 21 日
Actually num2str does not output a cell as you wrote, just a character array:
>> S = num2str([674 631 1 10 144])
S = 674 631 1 10 144
>> class(S)
ans = char

回答 (1 件)

Guillaume
Guillaume 2016 年 3 月 21 日
Two simple options:
1. loop (explicit or with arrayfun):
a = [874 631 1 10 144];
c = arrayfun(@num2str, a, 'UniformOutput', false)
2. Using sprintfc an undocumented function that's been in matlab for a while. Since it's undocumented it may disappear in a future version or may change behaviour
a = [874 631 1 10 144];
c = sprintfc('%d', a)

Community Treasure Hunt

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

Start Hunting!

Translated by