Clear Filters
Clear Filters

Finding 67000x67000 size weighting matrix

1 view (last 30 days)
I need to find a large 67000x67000 size weighting matrix for a number of signals I have. For example I have 67000 signals and I want to find similarity of each signals with other signal based on, let's say, correlation coefficient, I use the command
w = corrcoef(all_signals); % all columns are N-element 67000 different vector signals i.e. w is of length Nx67000
if I have let's say 1000 signals then the machine can compute the 1000x1000 w-matrix but for 67000 it gets out of memory. Kindly see the image for reference.
I can use for loops but it'll take days. Any suggestions or tips on how to do it?
Walter Roberson
Walter Roberson on 15 Aug 2016
What are you going to do with the large array produced? Could that be done incrementally, perhaps updating statistics after every few columns? That could at least allow you complete the operation. The alternative is to add memory, lots of memory.
Muzammil Behzad
Muzammil Behzad on 16 Aug 2016
I need to process the signals later. However, as you said, is there any way that let's say for each signal out of 67000 signals, I just find the similarity with the adjacent 10000 signals instead of all signals. For example, for signal number 1, I'll find the similarity with starting from signal in column 1 till signal in column number 10000. Similarly for lets say signal at column number 15000, I'll find the similarity with signal in column 10000 till signal in column 20000. This will reduce the cost but is there any way to do it efficiency for all 67000 signals? The w-matrix will become of the size 67000x10000.

Sign in to comment.

Answers (0)


Find more on Creating and Concatenating Matrices 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!