Date: May 8, 2013 10:42 AM
Author: Torsten
Subject: Re: complicated equation including bessel functions
"ghasem " <shaban_sadeghi@yahoo.com> wrote in message <kmdndp$6$1@newscl01ah.mathworks.com>...

> > You solve in _two_ unknowns: bet_real and bet_imag.

> > You evaluate your bessel functions for z=bet_real+1j*bet_imag.

> > You return the real and imaginary part of exp1(i) to fsolve.

> > (Two equations in two unknowns).

> >

> > Best wishes

> > Torsten.

> ===========================

> thank you Torsten.but your suggestion is not good.

> because,when in complex algebra in matlab,you use from real and imag commands,you only increase complexity of your problem.because,your complex unknown is within bessel argument,yet.

> for example,look at this code:

> syms a b % a,b real

> c = a+1j*b;

> d = besseli(1,c);

> real(d)

> ans=

> conj(besseli(1, a + b*i))/2 + besseli(1, a + b*i)/2

> imag(d)

> ans =

> (conj(besseli(1, a + b*i))*i)/2 - (besseli(1, a + b*i)*i)/2

> % so,you can see,when your problem is big,when you use from real and imag command,only your equation become longer.

> also,I tested my equation with simple fzero (without separate real and imag parts)and with your suggestion.

> I saw that my answers in first case,was correct and in latter case,was false.

> i.e IN MATLAB SOFTWARE,there is not any method for complicated equations including bessel functions with comlex argument????

> best wishes

> ghasem

The method I suggested is a method that will work with fsolve.

Since fsolve does not work with symbolic variables, I don't see that anything gets more complicated using the above approach.

I doubt that fzero works with complex numbers since it is based on a dissection method that does not work in the complex plane.

Best wishes

Torsten.