How to solve the problem Ax=b, when A is (14400,14400) and b (14400,1)?
Ältere Kommentare anzeigen
When I try to solve this problem with x=A\b or rref a message saying "Out of memory" is shown.
Antworten (3)
Star Strider
am 27 Jan. 2015
0 Stimmen
You have not said what your matrices are. If they are sparse, consider one of the sparse matrix routines, such as lsqr.
2 Kommentare
Orlando Rojas
am 29 Jan. 2015
Star Strider
am 29 Jan. 2015
As John and Matz mention, your matrices do not seem to be so large as to cause the problem you are having. I suggest you put ‘A’ and ‘b’ in a .mat file, then use the Edit option in your original Question and the ‘paperclip’ icon to attach it there, so we can experiment with it to see what the problem might be.
John D'Errico
am 27 Jan. 2015
0 Stimmen
This is not that huge of a problem.
If your matrix is sparse and you are not storing it as such (as matrices of that size are so frequently sparse on these problems) then why are you not using a sparse form?
Have you tried using an iterative solver? There are several of them to be found in MATLAB, LSQR for example.
Finally, make sure you have sufficient memory, AND you are using a current release of MATLAB, which will use 64 bit addressing.
Problems with 14k unknowns are simply not that difficult to solve anymore, so you need to explain more about what you are doing, and what you are doing wrong.
1 Kommentar
Orlando Rojas
am 29 Jan. 2015
Matz Johansson Bergström
am 27 Jan. 2015
0 Stimmen
If A is full \ has to perform a Gaussian elimination. A is ~1.5GB in double precision and it seems that \ requires at least that amount of RAM during GE.
How much RAM do you have?
1 Kommentar
Orlando Rojas
am 29 Jan. 2015
Kategorien
Mehr zu Creating and Concatenating Matrices 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!