MATLAB Answers

0

How do i create the following cell array ?

Asked by Abbi Hashem on 1 Jun 2019
Latest activity Edited by Stephen Cobeldick on 1 Jun 2019
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 ?

  0 Comments

Sign in to comment.

1 Answer

Answer by Stephen Cobeldick on 1 Jun 2019
Edited by Stephen Cobeldick on 1 Jun 2019
 Accepted Answer

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

thank you !
What if I wanted to build those dimensions initially , where all values are zeros ?
"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):
yup exactly what I meant
Thank you so much !

Sign in to comment.