Есть ли все-таки, чтобы читать с подвыборкой в MATLAB? Входные данные выглядят так:Чтение с подвыборкой в MATLAB
id=3,age=25, 0.5 0.5 0.2 0.6 0.6 0.5
id=1,age=15, 0.5 0.8 0.2 0.9 0.6 0.9
id=7,age=24, 0.5 0.2 0.9 0.6 0.1 0.5
(Edited) в течение последних шести колонок, я хочу только столбцы, которые кратны трем (то есть 3-й колонны, а 6-й столбец в LAST SIX COLUMNS, который эквивалентен 5-му столбцу и 8-й столбец во всем файле данных). То есть матрица, как:
0.2 0.5
0.2 0.9
0.9 0.5
В идеале, код выглядит следующим образом:
for line=1:maxLine
header(line,:) = fscanf(fid,'id=%d,age=%d,',[1,2]);
content(line,:) = fscanf(fid,'only read columns multiple of three');
end;
Я знаю, что я могу прочитать всю строку и sub-sample, проблема в том, что массив, с которым я имею дело, имеет большой масштаб, 10k + столбцы, я не хочу потреблять слишком m uch память.
Что вы подразумеваете под «несколькими из трех»? '0,2' и' 0,5' не делятся на 3, а единственное число, которое появляется 3 раза в любой строке или столбце, равно '0,5'. – IKavanagh