How to add 0 in a column to form an array in which all columns are with equal rows?
    11 次查看(过去 30 天)
  
       显示 更早的评论
    
I have 8 txt files, containing 2 columns each file. However each column has a different number of rows. 
This way, how can I join these 16 columns into just one file and insert 0 at the end of each column so that they all have the same row size as my largest column???.
thank you!
0 个评论
采纳的回答
  Kevin Phung
      
 2019-7-10
        here is an example:
a = [1 2 3]';
b = [1 2]';
c = [1 2 3 4 5 6 7]';
sets = {a,b,c};  % let a, b, and c be your column sets. Store them in an array 'sets'
max_size = 0;
%figure out the maximum size
for i = 1:numel(sets)
    if size(sets{i},1) > max_size 
        max_size = size(sets{i},1); % set max size, if current column is greater than the current max size
    end
end
% append zeros if smaller than the max size
for i = 1:numel(sets)
    if size(sets{i},1) < max_size
        sets{i} = vertcat(sets{i},zeros(max_size-size(sets{i},1),1)); 
    end
end
sets = cell2mat(sets) %concatenate into a matrix
0 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

