Date: May 8, 2013 10:42 AM
Subject: Re: complicated equation including bessel functions
"ghasem " <email@example.com> wrote in message <firstname.lastname@example.org>...
> > 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);
> conj(besseli(1, a + b*i))/2 + besseli(1, a + b*i)/2
> 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
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.