How to add 0 in a column to form an array in which all columns are with equal rows?

3 ビュー (過去 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!

採用された回答

Kevin Phung
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 件)

カテゴリ

Help Center および File ExchangePrepare Model Inputs and Outputs についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by