Worki ng with cells

1 次查看(过去 30 天)
soloby
soloby 2015-6-26
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]

采纳的回答

Jan
Jan 2015-6-26
编辑:Jan 2015-6-26
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);

更多回答(1 个)

Walter Roberson
Walter Roberson 2015-6-26
cellfun(@(v) v(1), Xidx1)
  2 个评论
soloby
soloby 2015-6-26
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 2015-6-26
Obviously
cellfun(@(v) v(2), Xidx1)

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by