【发布时间】:2020-07-28 16:13:36
【问题描述】:
我有一个 matlab m 文件,基本上有两个部分
第一部分包含一个对大小为 64 的数组执行操作的大循环,循环本身运行了大约 2000 次
循环结束后,第二部分包含计算量不大的代码
在第一部分完成后,我需要调用一个断点(我通过单击编辑器窗口的左边距来执行此操作),但是每当我设置断点时,程序的第一部分执行时间要长得多
我不会更改程序本身的任何内容。断点永远不在第一节。程序在没有断点时(不到 10 秒)运行得非常快,而我在第一节之后设置断点时(大约 60 秒)
这是预期的行为吗?为什么设置断点会导致程序运行速度变慢?有没有办法解决这个问题?
Windows 10 64 位家庭版上的 MATLAB 版本 7.9.0.529 (R2009b) 64 位
【问题讨论】:
-
您可以尝试将您的代码分成两个单独的函数,MATLAB 有可能会优化不包含断点的函数 - 这纯粹是推测
-
@Wolfie 我最终将这两个部分分成两个文件。我在一个文件中运行第一部分,然后立即运行秒文件。我只需要确保第二个文件没有任何与第一个文件同名的变量
-
如果你让它们成为函数(而不是脚本)并正确构建你的代码,你可以从第一个调用第二个,并且变量不会相互影响
标签: matlab