5

文字列を連結したい。私は使用してみましたstrcat

x = 5;
m = strcat('is', num2str(x)) 

ただし、この関数は各文字列から末尾の空白文字を削除します。末尾の空白を維持する文字列連結を実行する別の MATLAB 関数はありますか?

4

5 に答える 5

12

horzcat代わりに使用できますstrcat

>> strcat('one ','two')
ans =
onetwo
>> horzcat('one ','two')
ans =
one two

または、数値を文字列に置き換える場合は、次を使用することをお勧めしますsprintf

>> x = 5;
>> sprintf('is %d',x)
ans =
is 5
于 2012-04-30T09:48:28.633 に答える
4

どうですか

strcat({' is '},{num2str(5)})

それは

' is 5'
于 2012-05-02T16:34:32.100 に答える
2

strcatドキュメントの最後の例を見てください:の代わりに水平配列連結を使用してみてくださいstrcat

m = ['is ', num2str(x)]

また、sprintf文字列の書式設定(先頭/末尾のスペースなど)の詳細についても確認してください。

于 2012-04-30T09:49:55.300 に答える
-2

これはどのスペースを考慮していませんか?あなたが言及していないスペースだけ!もしかして:

m = strcat( ' is ',num2str(x) ) 

多分 ?

Matlabは、(a)スペースが必要であると推測したり、(b)スペースが必要であると推測した場所に配置したりすることはありません。

于 2012-04-30T09:48:36.917 に答える