Worki ng with cells

1 vue (au cours des 30 derniers jours)
soloby
soloby le 26 Juin 2015
Commenté : Walter Roberson le 26 Juin 2015
hey all,
i have a cell of <1x20> dimensions and each cell contains two x-values in a coordinate.
I want to work with these two coordinates separately, but I dont know how to access them?
Xidx1 =
Columns 1 through 5
[1x2 double] [1x2 double] [1x2 double] [1x2 double] [1x2 double]
Columns 6 through 10
[1x2 double] [1x2 double] [1x2 double] [1x2 double] [1x2 double]
Columns 11 through 15
[1x2 double] [1x2 double] [1x2 double] [1x2 double] [1x2 double]
Columns 16 through 20
[1x2 double] [1x2 double] [1x2 double] [1x2 double] [0]
  1 commentaire
Walter Roberson
Walter Roberson le 26 Juin 2015
Xidx1{20} is only [0] not a pair of values.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 26 Juin 2015
Modifié(e) : Jan le 26 Juin 2015
Get the 2nd coordinate of the 3rd pair:
element = Xidx1{3}(2)
The power of a cell array is to store elements of different size and/or type. In your case only the last element contains a deviating contents. Is the [0] useful for anything? If not, you can concatenate the vectors to a matrix:
index = cat(1, Xidx1{1:end-1});
element = index(3, 2);

Plus de réponses (1)

Walter Roberson
Walter Roberson le 26 Juin 2015
cellfun(@(v) v(1), Xidx1)
  2 commentaires
soloby
soloby le 26 Juin 2015
This is great! thanks.
It seems like it's giving me the first value of each pair, what do i do to get the second value?
Walter Roberson
Walter Roberson le 26 Juin 2015
Obviously
cellfun(@(v) v(2), Xidx1)

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by