I need to compare two strctures and find the common between them and then keep the common fields as the new structure.

4 Kommentare

Geoff Hayes
Geoff Hayes am 10 Mär. 2019
Praveen - please clarify what you mean by the common between them. Do the structures have fields that you want to compare? Or something else? Please provide a small example.
For example
structure 1='field1','field2','field3';
structure 2='field1','field4','field3';
The common between them is field1 and field 3 and i want to write that in structure 1.
structure_1={'field1','field2','field3'};
structure_2={'field1','field4','field3'};
structure_1=intersect(structure_1,structure_2)
madhan ravi
madhan ravi am 10 Mär. 2019
Sir Walter has given the answer already before 24mins..

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Mär. 2019

0 Stimmen

common_fields = intersect( fieldnames(structure1), fieldnames(structure2));
for fn = common_fields
this = fn{1};
new_struct(1).(this) = structure1.(this);
new_struct(2).(this) = structure2.(this);
end

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by