Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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: 121

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top