Кажется, нужно использовать скрипт для импорта простого текста в MATLAB, преобразования его в числовой формат и сохранения в матрице. Этот шаг необходим для любого вида анализа текстовых данных в MATLAB, например, для извлечения семантических признаков с использованием нейронных сетей или классификации текстов по известным признакам. Я не нашел способа сделать это без сценариев. Вот что я написал:
%texttoconvertincellarray- is a cell array where each row has text data imported from a csv file
longestrow=texttoconvertincellarray(cellfun(@(x) numel(x),texttoconvertincellarray)==max(cellfun(@(x) numel(x),texttoconvertincellarray))); %find the longest string in cell array rows
maxrowsize=cellfun('length',longestrow); %get longest string size to set max matrix Y
A=zeros(maxrowsize,length(texttoconvertincellarray)); %create an empty matrix the size of data
%Y - rows of imported cell array
%X - size of the longest string in rows
%later will transpose the matrix
j=1; %matrix element sequential index
for i=1:length(texttoconvertincellarray) %loop through each row of text data imported
%into cell array
conv = double(texttoconvertincellarray{i}); %convert characters of each row of the cell
%array to integer code representations
A(j:j+length(conv)-1) = conv; %update matrix element range starting at each
%column's first element with the converted data
j=j+size(A,1); %increment matrix element sequential index to
%the next column's first element
end
A=transpose(A); %transpose the matrix; this is necessary because matrix sequential element addressing works verically, then horizontally
%now each row in matrix A represents sentences in the imported cell array, with letters converted to
%numerical representations
Можно ли это еще более упростить, если не для чего-то еще, то для элегантности?