interpolation of a structure array

6 views (last 30 days)
Josh Tome
Josh Tome on 28 Nov 2022
Commented: Josh Tome on 29 Nov 2022
Hello, I have a structure array which consists of 39 variables (LFHD, RFHD, etc.) Each of those variables contains 3 double arrays of size 1 x ?. I would like to interpolate those double arrays from 1 x ? to 1 x 101 (0-100%) so that they are all the same length and I can average across them.
I am a bit of a MATLAB novice. Any assistance would be greatly appreciated.

Accepted Answer

Matt J
Matt J on 28 Nov 2022
fcn=@(f)interp1(f, linspace(1,numel(f),101) );
for i=1:numel(TrajXLstance)
TrajXLstance(i) = structfun(fcn, TrajXLstance(i),'uni',0);
end
  6 Comments
Matt J
Matt J on 29 Nov 2022
Try this insead,
fcn=@(f)interp1(f.', linspace(1, size(f,2) ,101) ).';
Josh Tome
Josh Tome on 29 Nov 2022
Yes, that seems to work. Thanks again for your help!

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!