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

Я понятия не имею, почему эта строка вызвала эту ошибку, но именно так я ее и решил.

Другие вопросы по тегам