Interpolate x,y coordinates and timesteps

1 回表示 (過去 30 日間)
Patrick Frey
Patrick Frey 2024 年 3 月 4 日
コメント済み: Mathieu NOE 2024 年 3 月 5 日
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 件のコメント
Patrick Frey
Patrick Frey 2024 年 3 月 5 日
thank you for your help
Mathieu NOE
Mathieu NOE 2024 年 3 月 5 日
my pleasure !!

サインインしてコメントする。

回答 (1 件)

Florian Bidaud
Florian Bidaud 2024 年 3 月 4 日
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 件のコメント
Patrick Frey
Patrick Frey 2024 年 3 月 4 日
Sorry my question was not clear. x and y-values are not independant variables. But thanks for your help

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by