plotting very slow and took a long time for the plot tool to show up

137 visualizaciones (últimos 30 días)
I am plotting 50 graphs in the same plot with these few lines. The data are already in the workspace.
figure; hold on
for n = 1:50
plot(x, y,'LineWidth',2.0);
hold on
end
The figure window shows up within 5 seconds, but it takes MATLAB 3 minutes to populate the graph window with the graphs. Additionally, when I try to use the plot tools to modify the figure, each icon I click or each action I did takes ~ 10 seconds to act, including some simple action like moving the legend position or click to select a specific graph. My computer practically froze while waiting. Initially I thought plotting 50 is too much, but when I try to plot 10 it took about the same amount of time and memory % which is something I've never saw before.
I have a pretty fast computer - an i7 8th generation with 16 GB RAM. I am running on MATLAB R2017b. Running other high memory usage program doesn't have this issue. I have never had this problem with R2017b on another supposedly slower computer - i3 with 32 GB RAM.
I am more of trying to trouble-shoot if this is the problem of the computer or with MATLAB. Thanks.
  2 comentarios
Husam Alfergani
Husam Alfergani el 26 de Jul. de 2020
use logical index insteasd of for loop. This means plot all at once.
plot(x, y,'LineWidth',2.0);

Iniciar sesión para comentar.

Respuesta aceptada

Swarnava Pramanik
Swarnava Pramanik el 22 de Jun. de 2018
Hi Melissa,
I understand you are having some issues while plotting 50 graphs simultaneously on your system. This might be due to some processes that are running in your system in the background which might be taking up enough RAM causing MATLAB to take longer time to plot figures. One solution is to increase the Java Heap Memory for MATLAB. You can do this by the following steps:
Execute the the following command in MATLAB command window:
preferences
A preference window will show up
In that preference window select the “ General ” tab and then select “ Java Heap Memory ”.
Change the size of the “ Java Heap Memory ” as per your requirement. The default is 384 MB but for your case I would suggest increasing it to around 512 – 600 MB
Thanks,
Swarnava Pramanik
  3 comentarios
Atom Deng
Atom Deng el 19 de Feb. de 2021
How can I know the Java Heap Memory size I need ?
wagenaartje
wagenaartje el 1 de Mayo de 2021
Editada: wagenaartje el 1 de Mayo de 2021
This is not a good solution, because it seems the memory will be pre-allocated. If you set it too high, MATLAB will slow down your entire system even whe no figures are there.

Iniciar sesión para comentar.

Más respuestas (2)

Praveen Muthusamy
Praveen Muthusamy el 16 de Nov. de 2020
I set it to maximum but it is still extremely slow. Matlab 2019b.
Any other suggestion to try?
Thanks

Melissa Chen
Melissa Chen el 22 de Jun. de 2018
Yes this is the exact cause - plotting is a lot faster after I increase the allowable java heap memory and get rid of a few processes that was eating up the RAM.

Etiquetas

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by