How can i find zeros of this nonlinear equation in matlab?

Status
Not open for further replies.

ehsan_faal

Member level 1
Joined
Sep 10, 2014
Messages
34
Helped
4
Reputation
8
Reaction score
4
Trophy points
8
Activity points
179
hi there,i have a nonlinear equation for insertion loss in generalized chebyshev like this:

IL(x)=cosh((N-3)*acosh(x*sqrt((Omega0^2 -1)/(Omega0^2 -x^2)))+3*acosh(x));
now i want to find roots of this equation in matlab:
1+jεIL(x) & 1-jεIL(x)


ε=0.100503781525921;
Omega0=1.32551104310002;
this is urgent, please give me a way:bang:
 

I can´t see other way than numerically, just scanning all 'x' allowable values and taking the IL minimal results.
 

i write this code,but it seems not so accuaret in this case,could you help me to find a faster code?

Code:
Eq1=@(x) 1+1j.*epsilon.*cosh((N-3).*acosh((x./1j).*sqrt((Omega0^2 -1)./(Omega0^2 -(x./1j).^2)))+3.*acosh(x./1j)).^2;
Eq2=@(x) 1-1j.*epsilon.*cosh((N-3).*acosh((x./1j).*sqrt((Omega0^2 -1)./(Omega0^2 -(x./1j).^2)))+3.*acosh(x./1j)).^2;

A=linspace(-1,1,1e3);
B=A;
[NA,NB]=meshgrid(A,B);
Count=1:numel(NA);
xData=complex(NA(Count),NB(Count));
EvalEquation1=Eq1(xData);
EvalEquation2=Eq2(xData);

Selection=find(real(EvalEquation1)<0.01 & imag(EvalEquation1)<0.01 & real(EvalEquation1)>-0.01 & imag(EvalEquation1)>-0.01);
InputData=xData(real(xData(Selection))<0);
 

how can i find complex roots of nonlinear equation?

hi there,
i have 2 equation that i must to find the complex roots of them,this is my code in matlab,i hope some one could help me.
Code:
Eq1=@(x) 1+1j.*epsilon.*cosh((N-3).*acosh((x./1j).*sqrt((Omega0^2 -1)./(Omega0^2 -(x./1j).^2)))+3.*acosh(x./1j));
Eq2=@(x) 1-1j.*epsilon.*cosh((N-3).*acosh((x./1j).*sqrt((Omega0^2 -1)./(Omega0^2 -(x./1j).^2)))+3.*acosh(x./1j));

A=linspace(-0.6,0.6,5e3);
B=linspace(-1.5,1.5,5e3);
[NA,NB]=meshgrid(A,B);
Count=1:numel(NA);
xData=complex(NA(Count),NB(Count));
EvalEquation1=Eq1(xData);
EvalEquation2=Eq2(xData);
Telorance=0.001;

SelectionO=find(real(EvalEquation1)<Telorance & imag(EvalEquation1)<Telorance & real(EvalEquation1)>-Telorance & imag(EvalEquation1)>-Telorance);
EvalEquation1N=Eq1(xData(SelectionO));
xDataNO=xData(SelectionO);
InputDataO=xDataNO(real(xDataNO)<0);
InputDataO=unique(InputDataO);
YO=poly(InputDataO);

SelectionE=find(real(EvalEquation2)<Telorance & imag(EvalEquation2)<Telorance & real(EvalEquation2)>-Telorance & imag(EvalEquation2)>-Telorance);
EvalEquation2N=Eq2(xData(SelectionE));
xDataNE=xData(SelectionE);
InputDataE=xDataNE(real(xDataNE)<0);
InputDataE=unique(InputDataE);
YE=poly(InputDataE);

ε=0.100503781525921;
Omega0=1.32551104310002;
but it seems not exactly the solution that used in this article,i want to achieve the answer that compute in this paper (page2):


it is urgent ,please help
 

Attachments

  • A Novel Class of Generalized Chebyshev.pdf
    657.5 KB · Views: 125

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…