Worki ng with cells

1 Ansicht (letzte 30 Tage)
soloby
soloby am 26 Jun. 2015
Kommentiert: Walter Roberson am 26 Jun. 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 Kommentar
Walter Roberson
Walter Roberson am 26 Jun. 2015
Xidx1{20} is only [0] not a pair of values.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 26 Jun. 2015
Bearbeitet: Jan am 26 Jun. 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);

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 26 Jun. 2015
cellfun(@(v) v(1), Xidx1)
  2 Kommentare
soloby
soloby am 26 Jun. 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 am 26 Jun. 2015
Obviously
cellfun(@(v) v(2), Xidx1)

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by