Accessing data in a cell array

19 views (last 30 days)
Yongmin
Yongmin on 7 Apr 2015
Edited: Jeffrey Girard on 8 Apr 2015
Hello, I have a (1x7) cell array that contains as follows:
cell_array =
Columns 1 through 4
[10000x8 char] [10000x6 char] [10000x6 char] [10000x1 double]
Columns 5 through 7
[10000x64 char] [10000x10 char] [10000x1 int]
I want to access some part of cell_array, i.e. the 100 line of data in cell_array from row 2101 to row 2200. Would you please help me how to refer those elements of cell_array?
Thanks a lot!
  2 Comments
Yongmin
Yongmin on 8 Apr 2015
Thanks for your advice. However, would you please explain more? As in case of database, I would like to select all columns of some records (rows) only. In case of a cell array, I cannot use the following command:
cell_array(1,1:7){2101:2200,:}
This gives an error, "()-index must appear last in an index expression."
How can I do what I want? Thanks in advance.

Sign in to comment.

Answers (1)

Jeffrey Girard
Jeffrey Girard on 8 Apr 2015
Hopefully this will give you some clues:
c = cell(1,2);
c{1} = ['abcd';'efgh'];
c{2} = [1,2,3,4;5,6,7,8];
c =
[2x4 char] [2x4 double]
string = c{1}(2,2:3)
string =
fg
number = c{2}(1:2,3:4)
number =
3 4
7 8
  2 Comments
Jeffrey Girard
Jeffrey Girard on 8 Apr 2015
MATLAB really wants you to keep strings and numbers separate. Your options are to convert the numbers to strings (e.g., num2str() ) or write them both to cells.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!