how to put one dimensional data to two dimensional array?

Hi, there.
I have multiple index text files. (ex, example1.txt, example2.txt, example3.txt, and so on...)
Each text file contains several columns (ex, 10 columns), and among them, I want to extract one specific column (ex, 6th) from each text file and put it into an array in order.
To do that,
I wrote this.
index_start = 1652; index_end = 1653;
for j = index_start:index_end
data(j) = importdata(sprintf('example%d.txt', j));
A = data(j).data(:,6);
end
But, it always returns one dimensional array (A) with the data from 6th column in the last index file (1653).
I believe there must be a solution.
Thanks in advance.

 Réponse acceptée

Mischa Kim
Mischa Kim le 21 Fév 2014
Modifié(e) : Mischa Kim le 21 Fév 2014
Lee, try something like
A(:,jj - index_start + 1) = data(j).data(:,6);
This will put the first column that is read into the first column of A, the second column that is read into the second, and so on and so forth.
Just make sure that the column vectors all have the same size. Also, for large matrices A you might want to pre-allocate it, e.g., using the zeros command.

1 commentaire

Lee
Lee le 21 Fév 2014
It works!!!
Thanks for the tip of pre-allocation as well!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Question posée :

Lee
le 21 Fév 2014

Commenté :

Lee
le 21 Fév 2014

Community Treasure Hunt

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

Start Hunting!

Translated by