Azzera filtri
Azzera filtri

complex roots of a transcendental equation

9 visualizzazioni (ultimi 30 giorni)
kalyan durbhakula
kalyan durbhakula il 1 Ago 2017
Risposto: T S Singh il 26 Dic 2017
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 Commento
John D'Errico
John D'Errico il 1 Ago 2017
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.

Accedi per commentare.

Risposte (1)

T S Singh
T S Singh il 26 Dic 2017
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).

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by