Fzero Issues with complex equation with complex roots

I have the following code:
Zo = 50;
Zl = 10;
Bl = (0:0.01:(4*pi));
x = @(Bl)Zo*((Zl+j*Zo*tan(Bl))./(Zo+j*Zl*tan(Bl)));
[Blx,Zin] = fzero(x,[2,4]);
fprintf('\n\nValue of x is %2.3f.',Blx)
fprintf('\n\nFunction value is %2.3f.',Zin)
I get the standard error: Function values at interval endpoints must be finite and real.
I would like to identify the root located at Pi with no imaginary component. Using abs() results in NaN.
Assistance required.

 Akzeptierte Antwort

Paul
Paul am 16 Feb. 2014
The value of the function at pi is 10, not 0. Do you mean you want the value where the imaginary part of the function is 0? Then you can change the function to this:
x=@(Bl)imag(Zo*((Zl+j*Zo*tan(Bl))./(Zo+j*Zl*tan(Bl))));

Weitere Antworten (0)

Kategorien

Mehr zu Optimization Toolbox finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 16 Feb. 2014

Beantwortet:

am 16 Feb. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by