How to select only one column from multiple matrices, to create a new matrix of them?

조회 수: 2 (최근 30일)
I have the following problem. I have read in matlab 797 csv files, so i have created 797 matrices (2560x6). I want to select only the 5th column of each matrix, and create a new one that consists only of them (2560x797). Because of the big number of files, i cannot do that manually, so i'm looking for a loop. The names of the matrices are "acc_00001","acc_00002",...,"acc_00797". What should i do?? Any help?? Thank you in advance!

채택된 답변

Junaid
Junaid 2013년 4월 30일
this should work
str = 'acc_';
index = 1;
final = zeros(2560,797); % declare your new matrix
for i=1:797
new_str = [str sprintf('%.5d',i)]; % your format like acc_00001
mat = eval(new_str); % reading your string as matrix
final(:,i) = mat(:,5); % finally copying 5th column
end

추가 답변 (1개)

Matt J
Matt J 2013년 4월 30일
편집: Matt J 2013년 4월 30일
It was mistake to read the files into 797 separate matrices. Redo that part, reading them all into one array, e.g.,
for ii=1:797
acc(:,:,ii)=csvread([filename num2str(ii)]);
end
then, getting the 5th columns is easy,
newmatrix=squeeze(acc(:,5,:));

카테고리

Help CenterFile Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by