Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Farshid Daryabor
Farshid Daryabor le 10 Mar 2020
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 commentaire
Farshid Daryabor
Farshid Daryabor le 10 Mar 2020
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));

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by