Creating a table from different sized vectors
古いコメントを表示
I have a number of vectors (x1,y1,x2,y2, etc) with different lengts and I want to extract them to a .csv containing all these. Specifically,
- 1st column = x1 (289 rows)
- 2nd column = y1 (289 rows)
- 3rd column = x2 (300 rows)
- 4th column = y2 (300 rows)
I try to use the horzcat but it does not work due to different size. Any ideas or solutions?
1 件のコメント
Stephen23
2015 年 12 月 17 日
Rather than storing these in numbered variables these vectors should really be stored in a cell array. Then the task becomes a trivial loop with indexing to allocate the vectors into a proallcoated array.
Numbered variables are invariably a bad idea:
採用された回答
その他の回答 (3 件)
the cyclist
2015 年 12 月 17 日
Depends on what you want to appear in the "empty" spot. You could use NaN. Then
M = [[x1; nan], [y1; nan], x2, y2]
and then export the matrix M.
the cyclist
2015 年 12 月 17 日
One possibility is to store them in a cell array first, in which case empty will be empty.
M = cell(300,4);
M(1:299,1) = num2cell(x1);
M(1:299,2) = num2cell(y1);
M(:,3) = num2cell(x2);
M(:,4) = num2cell(y2);
Image Analyst
2015 年 12 月 17 日
0 投票
I'd just use fprintf() and write it out manually.
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!