Accessing data in a cell array

3 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
Edited: 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
Yongmin
Yongmin on 8 Apr 2015
Thanks a lot for your answer.
BTW is there any way to handle strings and numbers together?
I understand from your answer that it is not possible to handle strings and numbers together within a cell.
Please clarify this point. Thank you!
Jeffrey Girard
Jeffrey Girard on 8 Apr 2015
Edited: 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.

Categories

Find more on Structures in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!