# Sum of first n roots for a function?

Posted 5 months ago
847 Views
|
6 Replies
|
0 Total Likes
|
 I have a function: y = x * e^(-m) and m is described by this equation: 1/m - m/2 - cot(m) = 0. It has infinite roots How can I find a sum for the first n roots of equation in my function and plot this? y = Sum(x * e^(-m)) from 0 to n. For the first 3 roots: y = x * e^(-m1) + x * e^(-m2) + x * e^(-m3)
6 Replies
Sort By:
Posted 5 months ago
 Is it this what you want? p1 = Plot[1/m - m/2 - Cot[m], {m, 1, 30}] here you can (by GetCoordinates) get some approximate values of zeroes prox = {{5.692, 0.1677}, {8.554, -2.711}, {12.01, -4.356}, {14.62, -6.207}, \ {17.98, -8.057}, {21.18, -9.496}, {24.21, -11.14}, {27.5, -12.79}} Use this to find the (approx) zeros prox1 = Transpose[prox][[1]] zeros = FindRoot[1/m - m/2 - Cot[m] == 0, {m, #}] & /@ prox1 Then zeros1 = zeros /. {m -> x_} -> x u=x Exp[-#] & /@ zeros1 u1=u // Total 
Posted 5 months ago
 I think Hans missed the first zero. Another way using FindInstance zeros = m /. FindInstance[1/m - m/2 - Cot[m] == 0 && 0 <= m <= 30, m, Reals, 10] // N // Sort (* {2.08158, 5.94037, 9.20584, 12.4044, 15.5792, 18.7426, 21.8997, 25.0528, 28.2034} *) x Exp[-#] & /@ zeros // Total (* 0.127469 x *) 
Posted 5 months ago
 And now I want to use this zeros in building graph y(x) but I don't know how. I mean not writing it into function by myself, but with Wolfram.
Posted 5 months ago
 I have more complex function, but am I right? zeros = m /. FindInstance[1/m - m/2 - Cot[m] == 0 && 0 <= m <= 30, m, Reals, 10] // N // Sort f[x_] = 2*(Power[#, 2]*BesselJ[5/2, #] - 2*#*BesselJ[7/2, #] + 2*BesselJ[9/2, #])*Exp[-Power[#, 2]*t * Power[1, 2]]* BesselJ[3/2, #*x]* Cos[0]/(Power[BesselJ[5/2, #], 2]*Power[#, 3]*Sqrt[x]) & /@ zeros // Total Plot[f[x], {x, 0, 1}] 
 What exactly do you mean? And what is t in your function f[ x ]?This at least give a plot: zeros = {5.940369990572713, 9.205840142936665, 12.404445021901974, 21.899696479493013, 18.742645584774756, 21.89969647949278, 25.05282528099297, 28.203361003952356}; t = 1; f[x_] := 2*(Power[#, 2]*BesselJ[5/2, #] - 2*#*BesselJ[7/2, #] + 2*BesselJ[9/2, #])*Exp[-Power[#, 2]*t*Power[1, 2]]* BesselJ[3/2, #*x]* Cos[0]/(Power[BesselJ[5/2, #], 2]*Power[#, 3]*Sqrt[x]) & /@ zeros // Total Plot[f[x], {x, 0, 1}] 
 You could also make f a function of x and t. ClearAll@f f[x_, t_] := 2*(Power[#, 2]*BesselJ[5/2, #] - 2*#*BesselJ[7/2, #] + 2*BesselJ[9/2, #])*Exp[-Power[#, 2]*t*Power[1, 2]]* BesselJ[3/2, #*x]* Cos[0]/(Power[BesselJ[5/2, #], 2]*Power[#, 3]*Sqrt[x]) & /@ zeros // Total Manipulate[Plot[f[x, t], {x, 0, 10}], {t, 10^ Range[-4, -1]}]