How can I make vectors within cell array consistent in length?

Please find attached file I want to make the all arrays in same length. I tried the comment below, doesn't work. I really appreciate in advance.
>> N = cellfun(@numel, X);
>> M = max(N);
>> OUT = cellfun(@(a) [a; nan(M - numel(a),1)],X,'uni',0);
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
Error in @(a)[a;nan(M-numel(a),1)]

1 件のコメント

Farshid Daryabor
Farshid Daryabor 2020 年 3 月 10 日
I did it, just for the other user it can be usful.
[X_out, tf_x] = cellfun(@(x) padcat(x{:}), X, 'uni' , 0); % pads with NaNs
n = max(cellfun('size',X_out,1));
m = max(cellfun('size',X_out,2));
X_new = cell2mat(cellfun(@(x) [x, nan(size(x, 1), m-size(x, 2)); ...
nan(n-size(x, 1), m)], X, 'uni' , 0));

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

質問済み:

2020 年 3 月 10 日

コメント済み:

2020 年 3 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by