HP Filter array size problems in Matlab 2023a

5 views (last 30 days)
I am running the HP filter using the function built into Matlab for a vector with 100.000 rows.
Until last week, I was using Matlab 2021a on a computer with 8GB of RAM and the HP filtering worked flawlessly.
Since today, I'm running the same code using Matlab 2023a on a computer with 32GB of RAM and the HP filter runs into the error:
"Error using \
Requested 100002x100000 (74.5GB) array exceeds maximum array size preference (31.7GB). This might cause MATLAB to become unresponsive."
How is this possible and any idea what I can do about it?

Accepted Answer

Star Strider
Star Strider on 6 Jun 2023
It would help to have the data and the code.
There are likely version differences, specifically that the arguments to the mldivide, \ functions in R2023a are a row vector and a column vector, where in R2021a, they were both (most likely) column vectors. (Without seeing the code, I cannot determine the reason for this change.) Probably the best approach is to manually transpose one of the vectors so that they are both the appropriate dimensions.
  4 Comments
Moritz Scheidenberger
Moritz Scheidenberger on 6 Jun 2023
I see, I copied the wrong line of code.
The problem is the same for a column vector.
[~,ufiltered] = hpfilter(ones(1,100000));
Nevertheless, I guess your answer solved it since it must come down to a version change. Disapponting to see such a big hit to performance of the hpfilter function.
Thank you for the quick responses.

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!