Currently I have a txt file with data as shown below:
A11Temperature=20 Weight=120 Speed=65B13Temperature=21 Weight=121 Speed=63F24Temperature=18 Weight=117 Speed=78D43Temperature=16 Weight=151 Speed=42C32Temperature=15 Weight=101 Speed=51
I would like to read the value into a cell array and convert it as matrix as formated below:
20 120 6521 121 6318 117 7816 151 4215 101 51
Below is my code:
% At first I read the data into a 1 column array
fid=fopen('file.txt');tline = fgetl(fid);tlines = cell(0,1);while ischar(tline) tlines{end+1,1} = tline; tline = fgetl(fid);endfclose(fid);% Then I check the size of the cell array
CellSize = size(tlines);DataSize = CellSize(1,1);% At last I setup a loop and literately read and input the values
Data = cell(0,3);for i = 1:DataSize Data{end+1,3} = textscan(tlines{i,1},'Temperature=%f Weight=%f Speed=%f'); end
However, I got 10×3 empty cell array.
[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*[] [] *1x3cell*
I know the problem comes from the input of textscan value into the cell array.
Can you help me fix the problem?
Also how can I toss the empty value if the data doesn't contain the specific format.
Best Answer