mldivide()代码行压碎笔记本电脑

时间:2016-12-31 16:47:58

标签: matlab

我不确定这个帖子是否正确。如果不是,那么请纠正我。

我正在进行家庭作业,我有以下代码行:

X = H \ [ Xp(:) Yp(:) ones(wp*hp,1) ]';

几乎每次我点击这一行我的笔记本电脑就会崩溃。现在,当我说粉碎时我的意思是屏幕键盘和鼠标冻结,没有任何电源循环(长按电源按钮)有帮助。

这通常是一个计算机视觉代码,当处理较小的图像时,我没有问题所以我猜它有一些与图像大小相关的东西。

我不知道如何解决这个问题。任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

问题是该操作正在创建一个矩阵,它占用的内存比实际可用的内存多。然后Matlab将使用虚拟内存,这会导致严重的速度下降,就像你所看到的那样。如果你让它运行得足够长,它可能会成功......或者它可能会引发错误。

您可以输入help memory查看可用内存,然后尝试释放更多内存。或者,您可以将此操作包装在检查输入大小的函数中,如果它们大于特定大小则会出错。