Error $RecursionLimit::reclim2: Recursion depth of 1024 exceeded during evaluation

I have written a code to get a plot. But my code shows an error. Kindly help me to find the problem.

prog - with 3w1 4.nb (71.2 KB)

In your code you have

l1=1+(b*x*wpe*td)/l1

and, roughly, when MMA sees that it assigns the right hand side of that as the value of l1

and then evaluates that right hand side to replace any variables with constants, etc.

which is fine until it finds l1 in that right hand side, looks up the value of that

finds it is 1+(b*x*wpe*td)/l1 and begins evaluating that

and this repeats again and again and again until after having done this 1000 times it assumes this is probably a mistake, stops and prints the warning that you see.

Yes sir, due to reoccurrence in the expression of l1, there is a problem. But I can’t change this expression. So kindly give the solution to get the plot.

In an empty new notebook

Reduce[l1==1+(b*x*wpe*td)/l1,l1]

tells me that (l1==(1-Sqrt[1+4 b td wpe x])/2 or l1==(1+Sqrt[1+4 b td wpe x])/2) and l1!=0

Is one of those solutions sufficient for you? Or do you need both of those?

If I begin your notebook with

l1=(1-Sqrt[1+4 b td wpe x])/2;

and remove your definition of l1 then I get an empty plot.

If I insert before your Plot

Table[a31,{x,1,5}]

then I get

{8.55988*^-9/Abs[s], 1.09454*^-9/Abs[s], 3.27572*^-10/Abs[s],1.39018*^-10/Abs[s], 7.14658*^-11/Abs[s]}

and I see that s has not been assigned a value in your notebook.

If I assign s=1 at the beginning of your notebook then with these changes I see a plot.

Please test all this very carefully to make sure I have not made any mistakes.

Sure sir. Thanks you for your efforts. I will try to solve the quadratic to get an expression for l1.