matlab问题,内存不足

能否帮我优化一下代码,我的程序用到了嵌套循环,结果一运行就自动退出matlab了。... 能否帮我优化一下代码,我的程序用到了嵌套循环,结果一运行就自动退出matlab了。 展开
 我来答
godloveme_zhu
2014-05-02 · TA获得超过1102个赞
知道小有建树答主
回答量:451
采纳率:66%
帮助的人:462万
展开全部

如果你可以把代码贴在这里或私信给我,我可以帮忙看一下。


你好,不好意思这么晚才答复你。你的程序我没有仔细看,但是基本上可以说是由于递归的层次太深了导致堆栈溢出,我在我的机器上试了你的程序,matlab提示说递归超出最大限制,然后我强行将最大递归层数设到5000,但是这时matlab就崩溃了(就像它提示的那样)所以问题出在你的算法上。你可能觉得奇怪为什么7阶矩阵不是很大却溢出了,要搞清这点我建议你看些算法的书,但简单的说递归的空间复杂度在N!左右,所以你7阶矩阵就要求(49!)这就太大了,所以它溢出了。


当然解觉的方法也是简单的,就是用回溯(还是那句话不懂就看算法术书或者google)我写了一段程序给你(已经发到你邮箱),具体内容我就不详细给你解释了,你自己去看。


这里把答案贴给你,9阶的我的程序找到3个解。

来自:求助得到的回答
卡伊の素17a57
2014-04-23 · TA获得超过201个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:262万
展开全部
先查找下哪个变量的数据量比较大,那就在进入循环之前给这个变量预设空间
更多追问追答
追问
我编的程序用的递归和循环嵌套,用来计算一个9*9的矩阵路径寻址问题,没有大数据量,只是函数调用次数比较多,大约2000次,能否加你QQ好友,你帮我看一下代码呢?
QQ:1293318458
追答
你发我的邮箱吧,2732066311
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式