"ghasem " <firstname.lastname@example.org> wrote in message <email@example.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.