The warning message issued possible due to there are abscissa (chopped filed) too close to each other. You could group them then average to a single data point before interpolation.
Note that structure fields can be accessed using dynamic fieldname, e.g.,
interpolated.(fields{i}) = ...
That syntax allows you to remove all the eye-hurting eval().