所以,我有这个项目在学校,我必须在SciLab中编写代码来解决一个谜题(帐篷)。随着代码变得越来越好,代码变得越来越长,但我突然得到一个错误,指出“超出堆栈大小”。
Error log:
!--error 17
stack size exceeded!
Use stacksize function to increase it.
Memory used for variables: 28875
Intermediate memory needed: 59987764
Total memory available: 10000000
我尝试使用此行
stacksize('max')
这一个
stacksize(1e8)
两者都不起作用,所有发生的事情都是SciLab在没有任何警告的情况下自行关闭。
我是如何超过堆叠尺寸的?有办法防止这种情况吗?我怎么能继续下去?
答案 0 :(得分:1)
我想出了自己如何解决这个问题。这是我对遇到同样问题的人做错了:
在一个函数中我使用了行
[m,n] = [x,y]
从矩阵中保存对象的坐标。使用x和y在循环中调用它来浏览矩阵。
显然这会导致堆栈超出错误,这是我之后写的:
m = x
n = y
我不知道为什么这一行导致了这个错误,但这就是我解决它的方法。