Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
how solve a equation including bessel functions?

Subject: how solve a equation including bessel functions?

From: ghasem

Date: 2 May, 2013 22:59:09

Message: 1 of 4

hi.
I want to find all of zeros following equation:
t0*besseli(1,t1) * besselk(0,t0) + t1 * besselk(1 ,t0) * besseli(0,t1) = 0
where:
k0 is real constant and known.
t0 and t1 are in terms of k:
t1 = sqrt(k^2-?r*k0^2)
t0 = sqrt(k^2-k0^2)
k is unknown complex number ( k = k1 +j k2 )
besseli and besselk are modified bessel functions of first and second type.
in above equation,only unknown is k .
now, i want to find zeros of above equation,i.e find " k " values.
by using of solve command only one of the zeros are found.
i can not use from fzero command,because I don't have any guess point that is imaginary(k) = k2 =0.

i don't know how find all of zeros in this equation.
this equation is a dispersion relation.
is there someone who help me?
ghasem

Subject: how solve a equation including bessel functions?

From: Alan_Weiss

Date: 3 May, 2013 12:53:15

Message: 2 of 4

On 5/2/2013 6:59 PM, ghasem wrote:
> hi.
> I want to find all of zeros following equation:
> t0*besseli(1,t1) * besselk(0,t0) + t1 * besselk(1 ,t0) * besseli(0,t1)
> = 0
> where:
> k0 is real constant and known.
> t0 and t1 are in terms of k:
> t1 = sqrt(k^2-?r*k0^2) t0 = sqrt(k^2-k0^2) k is unknown complex number
> ( k = k1 +j k2 )
> besseli and besselk are modified bessel functions of first and second
> type.
> in above equation,only unknown is k .
> now, i want to find zeros of above equation,i.e find " k " values.
> by using of solve command only one of the zeros are found.
> i can not use from fzero command,because I don't have any guess point
> that is imaginary(k) = k2 =0.
>
> i don't know how find all of zeros in this equation.
> this equation is a dispersion relation.
> is there someone who help me?
> ghasem

You can use fsolve from Optimization Toolbox. Take the real and complex
parts of everything in sight so that the arguments are (k1,k2) and the
result is (freal,fcomplex), where f is the value of the left-had side of
your equation. Start fsolve at a whole lot of different points and
gather the solutions.

Alan Weiss
MATLAB mathematical toolbox documentation

Subject: how solve a equation including bessel functions?

From: ghasem

Date: 4 May, 2013 23:10:10

Message: 3 of 4

Alan_Weiss <aweiss@mathworks.com> wrote in message <km0bvr$17q$1@newscl01ah.mathworks.com>...
> On 5/2/2013 6:59 PM, ghasem wrote:
> > hi.
> > I want to find all of zeros following equation:
> > t0*besseli(1,t1) * besselk(0,t0) + t1 * besselk(1 ,t0) * besseli(0,t1)
> > = 0
> > where:
> > k0 is real constant and known.
> > t0 and t1 are in terms of k:
> > t1 = sqrt(k^2-5*k0^2) t0 = sqrt(k^2-k0^2) k is unknown complex number
> > ( k = k1 +j k2 )
> > besseli and besselk are modified bessel functions of first and second
> > type.
> > in above equation,only unknown is k .
> > now, i want to find zeros of above equation,i.e find " k " values.
> > by using of solve command only one of the zeros are found.
> > i can not use from fzero command,because I don't have any guess point
> > that is imaginary(k) = k2 =0.
> >
> > i don't know how find all of zeros in this equation.
> > this equation is a dispersion relation.
> > is there someone who help me?
> > ghasem
>
> You can use fsolve from Optimization Toolbox. Take the real and complex
> parts of everything in sight so that the arguments are (k1,k2) and the
> result is (freal,fcomplex), where f is the value of the left-had side of
> your equation. Start fsolve at a whole lot of different points and
> gather the solutions.
>
> Alan Weiss
> MATLAB mathematical toolbox documentation
======================================
how?
Is there anyone who can explain with an example?
ghasem

Subject: how solve a equation including bessel functions?

From: Nitesh Dhasmana

Date: 7 Feb, 2014 13:15:08

Message: 4 of 4

"ghasem " <shaban_sadeghi@yahoo.com> wrote in message <klur3t$nva$1@newscl01ah.mathworks.com>...
> hi.
> I want to find all of zeros following equation:
> t0*besseli(1,t1) * besselk(0,t0) + t1 * besselk(1 ,t0) * besseli(0,t1) = 0
> where:
> k0 is real constant and known.
> t0 and t1 are in terms of k:
> t1 = sqrt(k^2-?r*k0^2)
> t0 = sqrt(k^2-k0^2)
> k is unknown complex number ( k = k1 +j k2 )
> besseli and besselk are modified bessel functions of first and second type.
> in above equation,only unknown is k .
> now, i want to find zeros of above equation,i.e find " k " values.
> by using of solve command only one of the zeros are found.
> i can not use from fzero command,because I don't have any guess point that is imaginary(k) = k2 =0.
>
> i don't know how find all of zeros in this equation.
> this equation is a dispersion relation.
> is there someone who help me?
> ghasem
Hey, I am trying to solve a smiliar equation as that of above and having some difficulty. The equation is solvable but the answer is not correct. My equation is
f(x)=p/2/(2*v+1)*bessely(v,x)*(v*besselj(v-1,N*x)-(v+1)*besselj(v+1,N*x))-(v*bessely(v-1,x)-(v+1)*bessely(v+1,x))*besselj(v,N*x)/(2*v+1)=0
this is basically a characteristic equation for eigen frequencies with v denoting the mode number. As I change v eigen frequency should change but it remains the same when I solve by using Fsolve. Please help me with some suggestions.

Thanks.

Nitesh

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us