Worki ng with cells

4 views (last 30 days)
soloby
soloby on 26 Jun 2015
Commented: Walter Roberson on 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 Comment
Walter Roberson
Walter Roberson on 26 Jun 2015
Xidx1{20} is only [0] not a pair of values.

Sign in to comment.

Accepted Answer

Jan
Jan on 26 Jun 2015
Edited: Jan on 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);

More Answers (1)

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

Sign in to comment.

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!