Я использую этот код для ввода введенной строки через текстовое поле, которое содержит текст, подобный этому (1,1,1,3,4,7,9,9, 9), а затем я разделить его, зависит от того, как хранить каждое число в массиве как результат в Matlab, но проблема в том, когда я использую str2double для temp. Я даю ошибку. Я думаю, что я использую ее не в том месте.Сохраните строку после сложения числа в массиве в Matlab
код:
points = get(handles.pointstxt,'String');
tmp = regexp(points,'([^ ,:]*)','tokens');
tmp
notesvector = cat(2,tmp{:})
результат будет выглядеть так:
Но я хочу сделать это следующим образом:
Обеспечить работоспособный пример и указать, что сообщение об ошибке в полном объеме. Где используется 'str2double'? Является ли 'point' просто строкой' '1,1,1,3,4,7,9,9,9''? Вы можете использовать 'textscan' для прямого преобразования строки в double. – horchler
Я не хочу использовать textscan, потому что он дает мне результат, поскольку одна ячейка не похожа на массив каждого номера в одной ячейке, об использовании str2double я использовал его здесь: notesvector = cat (2, str2double (tmp {:})), но это неправильно, потому что он не может преобразовать все данные одновременно! –
Что случилось с массивом ячеек? Если вы хотите преобразовать его в массив, просто используйте 'double_array = [double_cell_array {:}];'. Если вы не используете 'str2double', передайте ему массив ячеек:' str2double (tmp) '. – horchler