3

Matlab には整数配列 a=[1 2 3] があります。「,」で区切られた 1 つの文字列に変換する必要があります。

c = '1,2,3' 

どういうわけか文字列配列 b=['1' '2' '3'] を持つことができれば、次を使用できます

c = strjoin(b, ',')

目標を達成するために。

私の質問は次のとおりです。整数配列 a=[1 2 3] を文字列配列 b=['1' '2' '3'] に変換する方法は?

int2str() が機能していません。出してくれる

'1 2 3'

これは「文字列配列」ではないため、strjoin を適用して「1,2,3」を達成することはできません

4

4 に答える 4

4

あなたは単に使用することができますsprintf()

a = 1:3;
c = sprintf('%d,',a);
c = c(1:end-1);
于 2013-06-04T22:51:31.500 に答える
2

ファイル交換には、これを行うという関数がありますvec2str

角かっこを削除するには、encloseFlagパラメーターをに設定する必要があります。0例:

a = [1 2 3];
b = vec2str(a,[],[],0);

内部には次のbものがあります。

b = 
    '1,2,3'
于 2013-06-04T22:50:43.817 に答える
2

私は自分で1つの解決策を見つけました:

文字列(配列ではない)を取得した後、それを分割します:

b = int2str();   %b='1  2  3'
c = strsplit(b); %c='1' '2' '3'

その後、結果 c=strjoin(c, ',') を希望どおりに取得できます。

于 2013-06-04T23:08:09.367 に答える
2

以下を使用できます。

c = regexprep(num2str(a), '\s*', ',');
于 2013-06-04T23:08:21.743 に答える