Structured Cell array assignment question
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
John Petersen
am 28 Jan. 2016
Beantwortet: Walter Roberson
am 29 Jan. 2016
If I have something like
A(1).a = {c};
A(2).a = {d};
and
B(1).a = {e};
B(2).a = {f};
and want to assign B.a to A.a,
for i=1:length(A)
A(i).a = B(i).a;
end
is there a way to do this without doing a 'for' loop?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 29 Jan. 2016
In the special case where a is the only field in A, but there are potentially additional fields in B, then
A = struct('a', {B.a});
0 Kommentare
Weitere Antworten (1)
John BG
am 29 Jan. 2016
A.a and B.a are type struct. How do you expect to be able to assign B.a=A.a without making sure that the structures have same fields?
The obvious solution is that you build a function, kind of assignstruct(struc1,struc2) and that in this function you first make sure you can copy data from one structure to the other, and if struct1 struct2 are not compatible then return error.
John
0 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!