Fill blank spaces from lagged data with NaN

4 Ansichten (letzte 30 Tage)
Robert
Robert am 15 Dez. 2015
Bearbeitet: dpb am 16 Dez. 2015
I have a code which lags one data set in relation to another. The lag is determined based on r^2 values previously figured out.
The problem I have is that when the data is lagged, some data is removed. For example where there is a lag of +1 a vector of 96 rows becomes a vector of 95 rows. I want to fill that missing row is NaN so that it remains at 96. See code below. Thank you in advance for any help.
clear all;
clc
lag = load ('lagtime.txt'); %File contains the time by which each column will be lagged
A1 = load ('data\Anomalies\TWSA1anomalies.mat');
Approx1x = A1.TWSA1anomalies;
Approx1y = reshape(Approx1x,[1505,96]);
Approx1z = Approx1y';
NDVIdata = load ('data\Anomalies\NDVIanomalies.mat');
NDVIx = NDVIdata.NDVIanomalies;
NDVIy = reshape(NDVIx,[1505,96]);
NDVIz = NDVIy';
for j = 1:1505
m = lag(1,j)
GRACEcrop = Approx1z(1:(96-m),j);
NDVIcrop = NDVIz((1+m):96,j);
dlmwrite ('GRACECROPVEC.txt',GRACEcrop,'-append');
dlmwrite ('NDVICROPVEC.txt',NDVIcrop,'-append');
end
GRACEVEC = load ('GRACECROPVEC.txt');
NDVIVEC = load ('NDVICROPVEC.txt');
NEWGRACELAG = reshape(GRACEVEC,[96,1505]);

Akzeptierte Antwort

dpb
dpb am 15 Dez. 2015
Bearbeitet: dpb am 16 Dez. 2015
Instead of selecting the first N points,
GRACEcrop = Approx1z(1:(96-m),j);
just set the last m to NaN...
Approx1z(end-m+1:end,j)=nan;
and then write the modified array. No need for a new array at all (unless you have reason to also keep the unmodified in memory as well, of course).
  2 Kommentare
Robert
Robert am 15 Dez. 2015
Thanks for your answer, however, it didn't seem to work, it made all of the output NaN. I'm also not sure that I understand your reference to changing the last m to NaN, as m is only 1 number per loop (generally 0-6).
dpb
dpb am 16 Dez. 2015
Oops, missed fixing up the index...see correction above...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by