complex roots of a transcendental equation
조회 수: 7 (최근 30일)
이전 댓글 표시
I have a transcendental equation which needs to be solved to obtain real roots and complex roots. The equation reads as follows:
((((k2z./mu_2).^2-(1i.*k0z.*k1z./(mu_0*mu_1)).*(cot(k1z.*d1))).*((1-exp(-2.*1i.*k2z.*d2))./(k2z./mu_2)))+((k0z./mu_0-(1i.*(k1z./mu_1).*cot(k1z.*d1))).*(1+exp(-2.*1i.*k2z.*d2))))
where, k0z= -1i*sqrt(x^2-k0^2), k1z= sqrt(k1^2-x^2), k2z= sqrt(k2^2-x^2), k0= 20.9585, k1= 31.0864, k2= 37.7834, d1= 0.027, d2= 0.03 and mu_0=mu_1=mu_2=1.
I have tried all the in built functions available in MATLAB (fzero, fsolve, solve), but none of them seems to predict the location of complex roots. I have had no issues with finding out the real root, however, I am facing problems in finding out the complex roots and there could be infinite number of complex roots.
Can anyone please help me with this problem ?
Thank you in advance.
댓글 수: 1
John D'Errico
2017년 8월 1일
How do you expect to find an infinite number of potentially complex roots? It would take an infinite amount of time and an infinite amount of memory to generate them all anyway.
Note that fzero & fsolve in general are designed to solve for real roots anyway. Most people will be unhappy if fsolve starts generating complex results.
답변 (1개)
T S Singh
2017년 12월 26일
See this link https://in.mathworks.com/matlabcentral/fileexchange/6924-newtzero it might help you. If this does not help then you have to look for the complex root numerically and also make sure that you choose the range by analyzing the nature of the function (i.e by plotting the function).
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!