Date: May 8, 2013 7:49 PM
Author: Nasser Abbasi
Subject: Re: how find a relation between unknowns in this equation?please<br> help me
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 non-linear equation including bessel functions with complex argument,as following:

>>

>> my_equation=(w*sqrt(k^2-100)*besseli(1,sqrt(k^2- w))*besselk(0,sqrt(k^2-100))+...

>> besselk(1,sqrt(k^2-100))*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^2-100)*besseli(1,sqrt(k^2- w))*besselk(0,sqrt(k^2-100))+...

> besselk(1,sqrt(k^2-100))*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^2-100)*besseli(1,sqrt(k^2- w))*besselk(0,sqrt(k^2-100))+...

besselk(1,sqrt(k^2-100))*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