MATLAB Answers

K1495
0

Updation of Cell Array

Asked by K1495
on 9 Aug 2019
Latest activity Commented on by K1495
on 10 Aug 2019
I have a matrix of 100*400.I need to read a cell(from matrix), take its field as store it as a structure, update one field in the structure and put this new data back to the original cell with all the fields present, but only the updated field is present.Also, horizontal concatenation did not work out.Can I get any help regarding this?Thanks in advance!

  1 Comment

Guillaume
on 9 Aug 2019
Your question title speaks of cell array, you then state that you have a matrix, then talk about structures. These are 3 different things, so it's really unclear what you're asking.
Please provide a small example of input and desired output. Also when saying that something doesn't work provide the (erroneous) code you're using and the full text of the error message.

Sign in to comment.

1 Answer

per isakson
Answer by per isakson
on 9 Aug 2019
Edited by per isakson
on 9 Aug 2019
 Accepted Answer

Is something like this what you are looking for? I don't quite understand what you tried.
Try this code
%% Sample data
cell_array = cell( 100, 400 );
ix_row = 117;
ix_col = 314;
S = struct( 'f1', 1, 'f2', 2, 'f3', 3 );
cell_array{ ix_row, ix_col } = S;
%% reference the content of cell(ix_row,ix_col)
>> sas = cell_array{ ix_row, ix_col }
sas =
struct with fields:
f1: 1
f2: 2
f3: 3
%% Update one field of the struct in the cell(ix_row,ix_col)
>> sas.f2 = 200;
>> cell_array{ ix_row, ix_col } = sas;
>> cell_array{ ix_row, ix_col }
ans =
struct with fields:
f1: 1
f2: 200
f3: 3

  6 Comments

K1495
on 10 Aug 2019
I agree, f1 and f3 must be retrievable.But I am unable to do so.Thats the issue.
per isakson
on 10 Aug 2019
"But I am unable to do so [i.e. retrieve the values of the fields, f1 and f3]" It's hard for me to tell why, since you provide so little information. I have no problem doing it in my example and I assume that you can successfully repeat my example. (I use R2018b.)
Show
  • the value of the cell in question before the update (I assume it's a struct.)
  • statement by statement how you update one field of the value of the cell in question
  • the value of the cell in question after the update
  • statement by statement how you try to retrieve the values of the fields that you didn't update
K1495
on 10 Aug 2019
OK.Thank you so much for the help!

Sign in to comment.