Interpolation of matrices corresponding to time vector
2 views (last 30 days)
Show older comments
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?
4 Comments
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
Accepted Answer
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);
2 Comments
KALYAN ACHARJYA
on 26 Jun 2019
The answered is already provided by @Andrei, Hello @Ashok, please accept the answer to give due credit to the answer provider.
More Answers (1)
Vismay Raj
on 26 Jun 2019
this function might be useful https://www.mathworks.com/help/matlab/ref/interpn.html
0 Comments
See Also
Categories
Find more on Interpolation 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!