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.

 Réponse acceptée

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))));

Plus de réponses (0)

Catégories

En savoir plus sur Optimization Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by