# Interpolation of matrices corresponding to time vector

5 views (last 30 days)
Ashok Das on 25 Jun 2019
Commented: KALYAN ACHARJYA on 26 Jun 2019
I have a vector containing time points, and a cell structure containing matrices as its elements.
I want to interpolate the corresponding matrix for some time point which is not in the time vector. How to do that?

Show 1 older comment
Ashok Das on 25 Jun 2019
Consider t = [1, 2, 3] and corresponding cell is A, where
A{1} = [1 1; 1 1] , A{2} = [1 0.9;0.95 .87] , A{3} = [1.1 0.85;0.91 .8].
Now want to find the corresponding matrices at other time points, say for time t_new = [1.2, 2.1, 2.9].
infinity on 26 Jun 2019
Hello,
You could try to look at this
maybe it will help.
Bjorn Gustavsson on 26 Jun 2019
Or, depending on sizes, it might be more efficient to interpolate all matrix components at the same time with interp3, or interpn. The different interpolation functions have slightly different options when it comes to interpolation methods.
HTH

Andrei Bobrov on 26 Jun 2019
Variant with interp1:
t = [1, 2, 3];
A = {[1, 1; 1, 1] ,[1, 0.9;0.95, .87] , [1.1, 0.85;0.91, .8]};
tt = [1.2, 2.1, 2.9];
out = interp1(t(:),permute(cat(3,A{:}),[3,2,1]),tt);
out = permute(out,3:-1:1);

Ashok Das on 26 Jun 2019
Thank you for yor reply. Can you please elaborate the code a bit. It will be reallly helpfull.
KALYAN ACHARJYA on 26 Jun 2019