How do I add NaNs to each of a set of vectors of different lengths to make them all the same length please?
20 ビュー (過去 30 日間)
古いコメントを表示
I have 13 columns that I'd like to put into a matrix, but they are different lengths. I can add NaN to them to make them the same length; if the max length is say 5000, how do I add NaNs to the others to make them all 5000 please?
0 件のコメント
採用された回答
Walter Roberson
2016 年 8 月 18 日
Matrix = nan(5000,13);
Matrix(1:length(FirstVariable), 1) = FirstVariable;
Matrix(1:length(SecondVariable), 2) = SecondVariable;
and so on.
If the values were in a cell array then there would be other methods available as well.
その他の回答 (2 件)
Azzi Abdelmalek
2016 年 8 月 18 日
編集済み: Azzi Abdelmalek
2016 年 8 月 18 日
v1=(1:5)';
v2=(1:8)';
v3=(1:7)'
n=10
A={v1 v2 v3 }
out=cell2mat(cellfun(@(x) [x;nan(n-numel(x),1)],A,'un',0) )
1 件のコメント
Bojie Sheng
2019 年 9 月 26 日
Hi how can I add nan at the end of each row, not each coloum. For example:
v1=(1:5);
v2=(1:8);
v3=(1:7);
n=10;
A={v1; v2; v3; };
How to use cell2mat?
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!