how to concatenate rows of different sizes over an array of the minimum size among these rows?

1 次查看(过去 30 天)
I want to concatenate 32 columns from different 32 files sequentially named. The code works fine if the the 32 files have similar size arrays(2500 in some of the sets); however, other sets of 32 files have one file of size 2909 or more. Now I need to consider all the concatenation to be over the first 2500 only. Please help in editing the code below (error message is below as well):
clear all size=2500; for i=1 : 32 filename=horzcat(pwd,'\Run4915_Inj',int2str(i),'.pre'); delimiter = {'\t',','}; startRow = 3; %% Format string for each line of text: formatSpec = '%f%f%f%*s%[^\n\r]';
%% Open the text file. fileID = fopen(filename,'r');
%% Read columns of data according to format string. dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'HeaderLines' ,startRow-1, 'ReturnOnError', false);
%% Close the text file. fclose(fileID); %% Create output variable time(:,i)=dataArray{1:size, 1}; P(:,i)=dataArray{1:size, 2}; needle(:, i)=dataArray{1:size, 3}; Pav=mean(P,2); nav=mean(needle,2); tav=mean(time,2); %% Clear temporary variables clearvars filename delimiter startRow formatSpec fileID dataArray ans; end
I get this error as I run the code to the exceptional set:
Unable to perform assignment because the size of the left side is 2500-by-1 and the size of the right side is 2909-by-1.
  4 个评论
Bob Thompson
Bob Thompson 2018-11-12
I would double check the size of each of those arrays, to make sure that you aren't accidently getting time, P, or needle to be 2909
Samy Alkhayat
Samy Alkhayat 2018-11-12
Ok here is what the code does: It concatenates till the file no. 12/32 only because the file no 13 is of size longer than the previous 12.
So I get 500x12 for P and needle, 500x1 for Pav and needleav as the mean works only over 12 rathat than 32

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

标签

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by