MATLAB stalls after running script

8 次查看(过去 30 天)
Spencer Ferris
Spencer Ferris 2024-9-12
评论: Rik 2024-9-16
I have a pretty large script that analyzes a somewhat large data file (~5gbs). My script works fine when I first run it but then when I go to run a codeblock or even just try to get the output from a single simple variable in the command window AFTER I loaded everything into my workspace, MATLAB will stall for a minute or even more before starting to run whatever command I gave it. I've been monitoring my PC resources and it doesn't seem like I am running out of RAM or anything (working with 64gbs). I even went through and cleared many larger variables that were not needed for later parts of the script and the problem persists. I do not recieve any errors, it is just very slow to do simple things. Once it starts executing the command, it runs at the expected speed (I've verfied with some manual progress bars I coded in).
The data that I load is from a single .MAT file which has a structure in it with all of my data. I've also ran this script on 3 other PCs and had the same issue.
  3 个评论
dpb
dpb 2024-9-13
",,,data that I load is from a single .MAT file which has a structure in it with all of my data"
I suspect that's the problem -- it's taking MATLAB a long time to parse such a large structure with the JIT engine.
Probably rearranging the data structure to a flatter organization would help.
Rik
Rik 2024-9-16
Apart from the suggestion from dpd, I would also encourage you to use a function instead of a script.
Functions allow you to have a stable interface you can document and update without fear of affecting other code. Scripts are useful to test things, but a script should not be used for anything that is not touched mutliple days per week. Using functions is almost as important as documenting your code (and functions make it a lot easier to document your code well without having to explain every line).

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by