interp1 vector of interpolated sample points using Euler method

Hi, I have sompe tabular data that I have imported and have to interpolate between.
[date, t, Rainfall, Evap, I_t] = readvars("BOM_Data.xlsx");
% Define functions to allow interpolation of data
RAINFALL = @(time) interp1(t,Rainfall,time);
EVAP = @(time) interp1(t,Evap,time);
However when I use these values later on in the code it isnt working and those functions spit out NaN values for the first timestep.
For example, one of those equations is:
P_in(i) = RAINFALL(time(i)) *A_catch * C ;
Where A_catch and C are constant variables. The 2nd and further timesteps seem to work, however the 1st one is NaN, which flows on through to toher calcs and messes up others.

1 Kommentar

The t array from your Excel data must start with t(1) = 0. Is this the case ?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jiri Hajek
Jiri Hajek am 13 Okt. 2022

0 Stimmen

Please have a look into the documentation of interp1, namely the section on extrapolation method. You'll see that NaNs are the default result when you try to extrapolate, which is quite sensible.You have to check your input data and see whether you really want to extrapolate, as this is not really a typical task for an iterpolation method.

2 Kommentare

I dont need to extrapolate, only interpolate (eg. take my daily data and use it for hourly Euler timesteps). Do you have any suggestions on more suitable methods to go about this then?
Perhaps you dont need it or want it, but it is the most straightforward explanation for the NaNs you are geting. You have to carefully check the inputs into the interpolator, that is all. You see, we do not know what are the values in your variables,you have to check them yourself...

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2021b

Gefragt:

am 13 Okt. 2022

Kommentiert:

am 13 Okt. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by