Interpolation using for loop

10 次查看(过去 30 天)
Hi all;
I have a table temperature (35040 X 6),
Space mesh (1 X 104),
And Z_sensor (1 X 6)
I want to interpolate them to find the initial temperature using a for loop. Can someone help me with that?
Thank you!
for i =1: length(z_mesh)
T(i,1) = interp1( z_mesh, temp(i,:), z_sensor,'linear');
end
  6 个评论
Torsten
Torsten 2023-11-18
编辑:Torsten 2023-11-18
Is it correct then that you are given a single value for time (tq) and a single value for z_mesh (xq) and you want to interpolate Tq from a given time vector t, a sensor vector x (z_sensor) and a temperature matrix T ?
Then study how to use "interp2" instead of "interp1".
E.g.
tstart = 0;
tend = 10;
dt = 0.1;
zstart = 0;
zend = 1;
dz = 0.1;
z = zstart:dz:zend;
t = (tstart:dt:tend)';
T = z.^2+t.^2;
tq = 9.25;
zq = 0.135;
Tq = interp2(z,t,T,zq,tq)
Tq = 85.5855

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2023-11-18
编辑:Matt J 2023-11-18
You don't need a for-loop to interpolate successive temp(i,:). Just do,
T = interp1(z_sensor, temp', z_mesh ,'linear');
  3 个评论
Matt J
Matt J 2023-11-18
编辑:Matt J 2023-11-18
Whatever you are doing later is unrelated to the task you describe in your post. The code I gave you is equivalent to what the loop you posted is trying to do.
Sanley Guerrier
Sanley Guerrier 2023-11-18
yes, you are right I can use it without a for loop. thanks.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by