
Re: how find a relation between unknowns in this equation?please help me
Posted:
May 8, 2013 7:49 PM


On 5/8/2013 4:41 PM, ghasem wrote: > "ghasem " <shaban_sadeghi@yahoo.com> wrote in message <kmeg52$jkt$1@newscl01ah.mathworks.com>... >> Hi. >> I have a nonlinear equation including bessel functions with complex argument,as following: >> >> my_equation=(w*sqrt(k^2100)*besseli(1,sqrt(k^2 w))*besselk(0,sqrt(k^2100))+... >> besselk(1,sqrt(k^2100))*besseli(0,sqrt(k^2 w))); > ============== > I'm sorry,I forgot that tell above equation is =0.i.e: > I have equation of f(real(k),imag(k),w)=0; % f = my_equation > that: > my_equation=(w*sqrt(k^2100)*besseli(1,sqrt(k^2 w))*besselk(0,sqrt(k^2100))+... > besselk(1,sqrt(k^2100))*besseli(0,sqrt(k^2 w))) =0 > please direct me... > thanks > ghasem >
I guess you have 4 options to solve your bessel function equation.
1) solve the real and the imaging parts as was talked about before and combine result.
2) use symbolic solve():
w=99; syms k; my_equation=(w*sqrt(k^2100)*besseli(1,sqrt(k^2 w))*besselk(0,sqrt(k^2100))+... besselk(1,sqrt(k^2100))*besseli(0,sqrt(k^2 w))); solve(my_equation,k)  0.00023072214491381421450643003838304  2.1259310417079225152113020224253*i
3) Use a computer algebra system that supports root finding with complex numbers:
 Clear[a, b, k]; w = 99; r = Sqrt[k^2  100]; eq = w r BesselI[1, r] BesselK[0, r] + BesselK[1, r] BesselI[0, r]; FindRoot[eq == 0, {k, 0.01 + 2 I}] {k > 0.000263968 + 1.87608 I}
FindRoot[eq == 0, {k, 0.01 + 2 I}]
FindRoot[eq == 0, {k, 100}] {k > 7.1247 + 0.000100538 I}
FindRoot[eq == 0, {k, 99 + 200 I}] {k > 9.99814 + 0.0014217 I} 
4) use a matlab toolbox that allows complex root finding such as Chebfun and others like it. You can search fileexchange on this topic.
good luck,
Nasser

