Importing xlsx files - columns of unknown length
조회 수: 5 (최근 30일)
이전 댓글 표시
I am currently attempting to plot 4 graphs from the results of multiple trials (an example of 4 trial file names shown below). My main issue is (I believe) that columns A and B are not the same size for all of the files. I am commonly faced with 'Subscripted assignment dimension mismatch'. I am very new to Matlab, and have had some help so far getting to the stage I am at, really need some help to quickly process some data
Any help is much appreciated.
filename = {'T1_B1_P4_R1_I2_ER1_EX3_S_3.xlsx';...
'T1_B2_P4_R1_I2_ER1_EX3_S_3.xlsx';...
'T1_B3_P4_R1_I2_ER1_EX3_S_3.xlsx';...
'T1_B4_P4_R1_I2_ER1_EX3_S_3.xlsx'};
col = {'r','g','b','k'};
figure;
hold on;
for i = 1:length(filename)
data(:,2*i-1:2*i) = xlsread(filename{i}, 2, 'A1:B400');
temp = data(:,2*i-1:2*i);
hold on
plot(data(:,2*i),data(:,2*i-1),col{i});
end
댓글 수: 0
답변 (2개)
Image Analyst
2014년 10월 6일
Don't use indexes, just suck up the whole thing:
data = xlsread(filename{i}, 2, 'A1:B400');
It will resize data each time to be the size it needs to be.
댓글 수: 6
Image Analyst
2014년 10월 7일
No problem. You're welcome. If we're done here, could you go ahead and officially mark it as Accepted? Thanks.
Sean de Wolski
2014년 10월 6일
The problem is that you're storing this all in one array when different columns might have different sizes.
Instead, create data to be a cell array (a container) and have each excel file stored as one element in it.
data{ii} = xlsread(etc)
temp = data{ii}
plot(temp ... etc )
Now each element of data can be variably sized.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!