How do i create the following cell array ?

2 views (last 30 days)
this is what I have in mind :
Capture.PNG
as you can see, the main matrix is 2*4, and within each cell there are 3 values
Question 1 :how do I create this ?
Question 2 if I want to access one of the cells( accessing all 3 values as a vector), corresponding to row r and column c , how can I do so ?
Quesiton 3 if I want to access the 2nd element of the 3rd top cells from the left ( here it would be 6 ), how can I do so ?

Accepted Answer

Stephen23
Stephen23 on 1 Jun 2019
Edited: Stephen23 on 1 Jun 2019
Q1.
C = {[2,3,1],[1,5,6],[4,6,5],[3,1,7];[3,5,7],[2,4,6],[2,6,3],[8,2,3]}
Q2.
C{r,c} % access the cell contents (i.e. the numeric array)
C(r,c) % access the cell itself
Q3.
C{1,3}(2)
You should also read the MATLAB documentation:
  3 Comments
Stephen23
Stephen23 on 1 Jun 2019
Edited: Stephen23 on 1 Jun 2019
"What if I wanted to build those dimensions initially , where all values are zeros ? "
Your question is not very clear, but I think you mean this:
C = repmat({[0,0,0]},2,4)
or
C = cell(2,4);
C(:) = {[0,0,0]}
Note that for container types (e.g. cell arrays) it is often not required to preallocated the contents of the cells (unless they might be changing size in a loop, or similar):
Abbi Hashem
Abbi Hashem on 1 Jun 2019
yup exactly what I meant
Thank you so much !

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!