Creating a table from different sized vectors
Afficher commentaires plus anciens
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 commentaire
Stephen23
le 17 Déc 2015
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:
Réponse acceptée
Plus de réponses (3)
the cyclist
le 17 Déc 2015
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
le 17 Déc 2015
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
le 17 Déc 2015
0 votes
I'd just use fprintf() and write it out manually.
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!