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.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by