Interpolate x,y coordinates and timesteps
3 views (last 30 days)
Show older comments
Heallo,
I have an array M with x, y, coordinates points in the 1st and 2nd column [x= M(2:end,1); y= M(2:end,2)]. The following columns are the values (for example temperatures) for different timesteps [timesteps = M(1,3:end].
How can I interpolate the x,y coordinates and the timesteps?
clc
clear
M(5,7)=0;
M(1,2:7)=0:10:50;
M(2:5,1)=1:4;
M(2:5,2)=1:0.5:2.5;
M(2,3:7)=100:3:112;
M(3,3:7)=110:3:122;
M(4,3:7)=120:3:132;
M(5,3:7)=120:3:132;
5 Comments
Answers (1)
Florian Bidaud
on 4 Mar 2024
In your example, you only have a 2D M array, but I guess what you want is a 3D interpolation, so with another dimension in M ?
M = [[103,113,123,123]',[106,116,126,126]',[109,119,129,126]',[112,122,132,132]'];
% Building an example of a 3 dimensional array
values(:,1,:) = M;
values(:,2,:) = M*1.05;
values(:,3,:) = M*1.1;
values(:,4,:) = M*1.15;
timesteps = (20:10:50)';
x = (1:4)';
y = (1:0.5:2.5)';
% query values
x_query = [1.1 3.2];
y_query = [1.3 2.2];
time_query = [21 45];
query_values = interp3(x,y,timesteps,values,x_query,y_query,time_query)
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!