[12 25 34 466 55]
を文字列の配列['12' '25' '34' '466' '55']
に変換するにはどうすればよいですか?私が知っている変換関数は、その配列を配列全体を表す1つの文字列に変換します。
文字列の配列はセル配列でなければなりません。それは言った:
s = [12 25 34 466 55]
strtrim(cellstr(num2str(s'))')
arrayfun
をnum2str
と一緒に使用すると動作します:
>> A = [12 25 34 466 55]
A =
12 25 34 466 55
>> arrayfun(@num2str, A, 'UniformOutput', false)
ans =
'12' '25' '34' '466' '55'
これで、MATLAB 2016bの後、簡単に使用できます
s = [12 25 34 466 55];
string(s)
MATLABでは、['12' '25' '34' '466' '55']は、これらの数値を含む単一の文字列と同じです。それは言うことです:
['12' '25' '34' '466' '55']
ans =
12253446655
あなたが達成しようとしていることのためにここでより多くのコンテキストが必要ですが、あなたがまだ個々の数字に文字列としてアクセスできるようにしたいと仮定すると、セル配列はおそらくあなたが取ることができる最良のアプローチです:
A = [1 2 3]
num2cell(num2str(A))
(もちろん、ANSから浮遊スペースを削除する必要があります)
R2016b以降、compose関数もあります。
>> A = [12 25 34 466 55]
A =
12 25 34 466 55
>> compose("%d", A)
ans =
1×5 string array
"12" "25" "34" "466" "55"'''