How can I calculate very large matrix and store the values?

조회 수: 2 (최근 30일)
Martin T
Martin T 2015년 4월 10일
답변: Hugo 2015년 4월 10일
Suppose I have 1 million-by-1 million matrix.
I will read later about creating very large matrix at here http://blogs.mathworks.com/loren/2011/10/14/new-mat-file-functionality-in-r2011b/
Now here's the problem.
I have 1 million points (with their Euclidean coordinate). I want to calculate distances between them, for example distance between point 1 and 1, 1 and 2, 1 and 3, and so on; distance between point 2 and 1, 2 and 2, 2 and 3, and so on; distance between point 3 and 1, 3 and 2, 3 and 3, 3 and 4 , and so on.
I want to store those calculations in that very large matrix.
Is mapreduce, or any other methods, can do the calculations and store them? If yes, how can I do that?
Any help will be greatly appreciate.
Thank you very much.

답변 (1개)

Hugo
Hugo 2015년 4월 10일
I guess one option would be to reduce the size of your data using clustering such as K-means or Gaussian mixtures, and replace all points in a cluster with the centre of that cluster. You will end up with a reduced distance matrix and a map between cluster centres and data points. Of course, doing so will incur in an error, which can be decreased by increasing the number of clusters, at the cost of increasing the computational expenses.

카테고리

Help CenterFile Exchange에서 Cluster Analysis and Anomaly Detection에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by