フィルターのクリア

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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by