SciLab - превышен размер стека
Итак, у меня есть этот школьный проект, в котором я должен написать код в SciLab для решения головоломки (Tents). Код становится все длиннее и длиннее по мере того, как он становится все лучше и лучше, но я неожиданно получил сообщение об ошибке "превышен размер стека".
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 отключается без какого-либо предупреждения.
Как я превысил свой размер стека? Есть ли способ предотвратить это? Как я могу продолжить дальше?
1 ответ
Я сам разобрался, как решить эту проблему. Вот что я сделал неправильно для людей с такой же проблемой:
Внутри функции я использовал строку
[m,n] = [x,y]
сохранить координаты объекта из матрицы. Это было вызвано в цикле, используя x и y для просмотра матрицы.
Видимо, это вызвало ошибку превышения размера стека, и вот как я написал это потом:
m = x
n = y
Я понятия не имею, почему эта строка вызвала эту ошибку, но именно так я ее и решил.