matlab问题,内存不足
2个回答
展开全部
如果你可以把代码贴在这里或私信给我,我可以帮忙看一下。
你好,不好意思这么晚才答复你。你的程序我没有仔细看,但是基本上可以说是由于递归的层次太深了导致堆栈溢出,我在我的机器上试了你的程序,matlab提示说递归超出最大限制,然后我强行将最大递归层数设到5000,但是这时matlab就崩溃了(就像它提示的那样)所以问题出在你的算法上。你可能觉得奇怪为什么7阶矩阵不是很大却溢出了,要搞清这点我建议你看些算法的书,但简单的说递归的空间复杂度在N!左右,所以你7阶矩阵就要求(49!)这就太大了,所以它溢出了。
当然解觉的方法也是简单的,就是用回溯(还是那句话不懂就看算法术书或者google)我写了一段程序给你(已经发到你邮箱),具体内容我就不详细给你解释了,你自己去看。
这里把答案贴给你,9阶的我的程序找到3个解。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询