Interpolation using for loop
Show older comments
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 Comments
Torsten
on 18 Nov 2023
Your question is not clear.
You usually have x and y data of the same length and you try to interpolate y (yq) at a new given x-position xq. What are x,y and xq in your case ?
Sanley Guerrier
on 18 Nov 2023
Torsten
on 18 Nov 2023
So you want to interpolate 6 temperatures at 6 positions to 104 other positions ? And the 35040 rows are the temperatures at the 6 positions at different times ?
Sanley Guerrier
on 18 Nov 2023
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)
Sanley Guerrier
on 18 Nov 2023
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements 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!