Vertical to horizontal data
2 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I have a column of data with several rows (about 125000).
I want to copy that data, every 62 rows, to separate columns. So I would have from row 1 to 62 in column A, from row 63 to 125 in column B, from row 126 to 188 in column C and so on until there is no more data.
Is there an easy way to do this? Thank you so much in advance! (I'm new in matlab)
0 件のコメント
採用された回答
Azzi Abdelmalek
2014 年 4 月 26 日
a=rand(12500,1); % Example
n=numel(a);
ii=mod(-n,62),
a(end+1:end+ii)=nan
out=reshape(a,62,[])
その他の回答 (2 件)
the cyclist
2014 年 4 月 26 日
You probably want the reshape() function.
doc reshape
for syntax details.
0 件のコメント
Salaheddin Hosseinzadeh
2014 年 4 月 26 日
As mentioned, you need to reshape the matrix, but for your data size, which is 125000, since it's not a multiply of 62 you need to pad it with (54) zeros and then reshape it
roughly it's gonna be like
data(1,end:end+54) = 0; % adds 54 zeros to the end of data to be multiply of 62
reshape(data,[],62);
I didn't check the code, might have minor problems ;)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!