x = 1234 56789 7654
x(1)は1、x(2)は2など...間に5つのスペースがあります。size(x)= 1 23 num2str、strcatを使用して試した23列の1行ですが、できません。数字をクラブします。y = num2str(x)、y = strcat(x)
x(1)= 1234、x(2)= 56789、x(3)= 7654
上記を実行するには、どの関数を使用する必要がありますか?
x = 1234 56789 7654
x(1)は1、x(2)は2など...間に5つのスペースがあります。size(x)= 1 23 num2str、strcatを使用して試した23列の1行ですが、できません。数字をクラブします。y = num2str(x)、y = strcat(x)
x(1)= 1234、x(2)= 56789、x(3)= 7654
上記を実行するには、どの関数を使用する必要がありますか?
簡単な解決策は使用することsscanf
です:
x =' 1234 56789 7654'
sscanf(x, '%d')
ans =
1234
56789
7654
やりたいことを実行するには、いくつかの方法があります。それらの1つはstrtokです。
x = '1234 56789 7654';
[fst rest] = strtok(x,' ');
次の例では、文字列のセル配列を作成し、sscanf を適用してフォローアップします。
b = regexp(x,'\d+','match');
y = cellfun(@(a) (sscanf(a,'%d')),b);
STR2NUMは、次のタスクに適しています。
>> x = '1234 56789 7654'; >> x = str2num(x)' ×= 1234 56789 7654
ミックスに別の答えを追加するだけです...
y = textscan(x, '%d %d %d')