Copy range of values from all fields in a structure to another structure

3 views (last 30 days)
Lets say I have the following struct: data = FIELD1: [1x250 double] FIELD2: [1x250 double]
I want to copy the range (25:50) from both fields into a new struct where the result would look like new = FIELD1: [1x26 double] FIELD2: [1x26 double] I know I can do this in a loop using fieldnames but would like to find a more direct approach.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Dec 2015
newStruct = structfun(@(V) V(25:50), oldStruct, 'Uniform', 0);
No explicit loop needed.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!