MATLAB: Indexing structured arrays

arrayindexingstructure

I have a two structures that have identical fields, but different lengths. I want to append part of one structure to the other. This works for a single element, but I want to vectorize it. I have tried
Struct1(i:i+n).parm1 = Struct2(k:k+n).parm1;
where i is the length of Struct1 and k and k+n are integers that lie within Struct2 length. However, I get the error "Insufficient outputs from right hand side to satisfy comma separated list expansion on left hand side. Missing [] are the most likely cause."
How do I make this kind of assignment without writing a for loop?

Best Answer

Have you tried
new_struct = cat( Struct1(i:i+n), Struct2(k:k+n) );
Are the fields in the same order? Try this
[ Struct1(i:i+n).parm1 ] = [ Struct2(k:k+n).parm1 ];