Interpolate x,y coordinates and timesteps

3 Ansichten (letzte 30 Tage)
Patrick Frey
Patrick Frey am 4 Mär. 2024
Kommentiert: Mathieu NOE am 5 Mär. 2024
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 Kommentare
Patrick Frey
Patrick Frey am 5 Mär. 2024
thank you for your help
Mathieu NOE
Mathieu NOE am 5 Mär. 2024
my pleasure !!

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Florian Bidaud
Florian Bidaud am 4 Mär. 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)
query_values = 1×2
109.8465 144.1890
  1 Kommentar
Patrick Frey
Patrick Frey am 4 Mär. 2024
Sorry my question was not clear. x and y-values are not independant variables. But thanks for your help

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by