Pass out of memory

I want to calculate the solutions of some huge linear system of equations by backslash function and save the norm of solutions in a excel file, and I don't want Matlab stopped when for some cases it has "Out of Memory". Please let me know how can I solve this problem

Answers (1)

Walter Roberson
Walter Roberson on 13 Jan 2023

0 votes

You could add more ram.
In some cases you might be able to use sparse matrices.
In some cases you might be able to use tall() arrays.

4 Comments

Ali Shahmoradi
Ali Shahmoradi on 13 Jan 2023
Moved: Steven Lord on 13 Jan 2023
But I want to write 'out of memory' in my excel file and pass this iteration
You can wrap the call to backslash in a try/catch statement, and then in the "catch" say what you want to do if an error was thrown.
For example:
for ii=1:10
try
x{ii} = A{ii} \ b{ii};
catch ME
x{ii} = "Error occured";
end
end
If there is an out-of-memory error, x{ii} is just filled with that string instead of the solution of linear system, but the computation will continue.
Huh, I did not think it was possible to catch out-of-memory, but testing I see that it is in at least some cases.
Thanks, It worked

Sign in to comment.

Categories

Find more on Parallel Computing Toolbox in Help Center and File Exchange

Asked:

on 13 Jan 2023

Commented:

on 14 Jan 2023

Community Treasure Hunt

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

Start Hunting!