Ошибка Matlab strsplit

У меня есть переменная с именем data, которая представляет собой массив ячеек 5574x1. В настоящее время каждый элемент представляет собой массив символов, представляющих предложение. Я хочу разбить каждый массив на пробелы. Итак, я попытался сделать это:

новые_данные = {strsplit(данные{:})}

и Matlab дает мне эту ошибку:

Error using strsplit (line 94)
Argument 'spam  Free entry in 2 a wkly comp to win FA Cup final tkts
21st May 2005. Text FA to 87121 to receive entry question(std txt
rate)T&C's apply 08452810075over18's' did not match any valid
parameter of the parser.

Однако, когда я это делаю:

for x=1:5574
    d(x) = {strsplit(data{x})};
end

Это работает просто отлично. Кажется, я не могу понять, в чем разница между ними. Почему первый не работает? Любая помощь приветствуется.


person Sterling    schedule 28.09.2013    source источник
comment
Я исправил свой ответ, используя strjoin для создания одной строки строки, как того требует strsplit.   -  person chappjc    schedule 29.09.2013


Ответы (1)


Выполняя strsplit(data{:}), он передает каждую ячейку как отдельный аргумент, но strsplit нужны строки в одном аргументе. Попробуйте это вместо этого:

new_data = strsplit(strjoin(data))

EDIT: используйте strjoin вместо strvcat.

person chappjc    schedule 28.09.2013