필터 지우기
필터 지우기

complex roots of a transcendental equation

조회 수: 9 (최근 30일)
kalyan durbhakula
kalyan durbhakula 2017년 8월 1일
답변: T S Singh 2017년 12월 26일
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
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
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).

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by