MATLAB Answers

how to add data into the cells of a cell array?

2 views (last 30 days)
Paolo Ottonelli
Paolo Ottonelli on 15 Jan 2020
Commented: Paolo Ottonelli on 3 Feb 2020
Hi, I have a 3x1 cell Array X in which there are some data divided into 3 cells . I would like to add data to each cell in order to obtain an other cell array X1 that is in this way:
X={[2000:2001;2002];
[2003;2004;2005;2006;2007;2008];
[2010; 2011; 2012]}
X1={[2000:2001;2002;2003];
[2003;2004;2005;2006;2007;2008;2009;2010];
[2010; 2011; 2012]}
I wrote the following code but I would like to use indexing
X1={[X{1}(1):X{2}(1)];
[X{2}(1):X{3}(1)];
[X{3}(1):2019]}

  1 Comment

dpb
dpb on 15 Jan 2020
You did use indexing; what is missing in your view?

Sign in to comment.

Answers (1)

Jyothis Gireesh
Jyothis Gireesh on 20 Jan 2020
I am assuming here that you want to create “X1” using the elements of the existing cell array “X”. The following code may be of help to you in achieving the desired result.
X1 = cell(3, 1);
X1 = {[X{1}; 2003]; [X{2}; 2009; 2010]; X{3}};

  1 Comment

Paolo Ottonelli
Paolo Ottonelli on 3 Feb 2020
I solved in this way
function G=ver(X)
a=length(X);
G=cell(zeros);
if a>1
for i=1:(a-1)
G(i)={[X{i}(length(X{i})),(X{i+1}(1))]};
end
G=cellfun(@transpose,G','uniformOutput',false);
else
G={};
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!