MATLAB Answers

Error about “Maximum recursion limit of 500 reached”

2 ビュー (過去 30 日間)
Sepanta Gharib
Sepanta Gharib 2018 年 8 月 16 日
コメント済み: Sepanta Gharib 2018 年 8 月 16 日
In Matlab: Maximum recursion limit of 500 reached. It seems that one of functions is being called a lot.
Increasing the Recursion Limit using set(0,'RecursionLimit',N) does not help because after I do that and run my code, Matlab crashes (and it crashes for any value N larger than 500)
I've attached my code in [ my google drive account ]. The main file is EtOH_1Butanol.m. The rest of the files are its functions.

  1 件のコメント

Stephen Cobeldick
Stephen Cobeldick 2018 年 8 月 16 日
@Sepanta Gharib: please upload the code here by clicking the paperclip button.

Sign in to comment.

採用された回答

Ameer Hamza
Ameer Hamza 2018 年 8 月 16 日
The problem is happening in Bubble_point_T() function. You are recursively calling it, and the termination condition is
if abs(sum(y)-1)<0.0001
But if you use MATLAB debugger to find the value of y inside the recursion, you will find that it is very large i.e. 10^180 and decreasing very slowly. You need to check your model or the function which is returning the incorrect values. I also noted that initially y is a 1D vector but the value of y returned by sub_loop() is a 2x2 matrix, maybe this gives you some hint of the problem.
To use the debugger you might need to replace parfor loop with the for loop.

  1 件のコメント

Sepanta Gharib
Sepanta Gharib 2018 年 8 月 16 日
Yes, you are completely right. Because I tested the same code on another model, and it was quite responsive and the results were satisfactory.

Sign in to comment.

その他の回答 (0 件)


Translated by