Hello, I am attempting to detrend a time series of dimensions 97x97x117 (double) that contains sea surface temperature data at various longitude and latitude points. The data is represented by NaN values over landl, as expected. When I take the mean of the above matrix across the 3rd dimension and plot it, the data all shows up just fine over the water. However, if I detrend the above matrix and then take the mean across the 3rd dimension, and then plot it, the data cuts off around 39 degress north (where land/NaN values start creeping in), so I know the issue resides with method I'm using to detrend. See image attached. Originally I used the detrend(x) method, however there is reference to the following modification of the code from another Mathworks user, as this seems to be a known issue with NaNs in data:
When I attempt to use this modification, I get the following error:
Undefined function 'detrendNaN3' for input arguments of type 'double'.
Error in SST (line 24)
SST_all_events_detrend = detrendNaN3(yearly_array2); %array of size 97x97x117
Here is a snip-it of the code that I am using:
SST_all_events_detrend = detrendNaN3(yearly_array2); %detrend time series of dimensions 97x97x117
SST_all_events_mean = mean(SST_all_events_detrend,3); %mean across all events
I appreciate any assistance that you may be able to provide!

 Akzeptierte Antwort

dpb
dpb am 19 Jun. 2021

0 Stimmen

With recent (but I'm not sure just how recent) releases, there's the 'omitnan' optional parameter in detrend that will skip the nan elements and operate on the rest.

1 Kommentar

Brian DeCicco
Brian DeCicco am 21 Jun. 2021
Thank you, that worked! I had forgotten about that very useful parameter for this case :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Signal Processing Toolbox finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by