Updation of Cell Array

21 ビュー (過去 30 日間)
KK14
KK14 2019 年 8 月 9 日
コメント済み: KK14 2019 年 8 月 10 日
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 件のコメント
Guillaume
Guillaume 2019 年 8 月 9 日
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.

サインインしてコメントする。

採用された回答

per isakson
per isakson 2019 年 8 月 9 日
編集済み: per isakson 2019 年 8 月 9 日
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 件のコメント
per isakson
per isakson 2019 年 8 月 10 日
"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
KK14
KK14 2019 年 8 月 10 日
OK.Thank you so much for the help!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by