MATLAB Answers

0

Error about “Maximum recursion limit of 500 reached”

Asked by Sepanta Gharib on 16 Aug 2018
Latest activity Commented on by Sepanta Gharib on 16 Aug 2018
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 Comment

@Sepanta Gharib: please upload the code here by clicking the paperclip button.

Sign in to comment.

1 Answer

Answer by Ameer Hamza
on 16 Aug 2018
 Accepted Answer

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 Comment

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.