Warning: Explicit solution could not be found. But in the command line it works!

1 view (last 30 days)
Hello,
I have this .m program:
clear
syms C1 C2 x;
w=2.*pi.*4E8;
L=84.4E-9;
C=32.22E-12;
r=5;
Z0=50;
Zload=r+1i*(L*w-(1/(C*w)));
Zin=Z0*((Zload+1i*Z0*tan(x*2*pi))/(Z0+1i*Zload*tan(x*2*pi)));
ZC1=1./(1i.*C1.*w);
ZC2=1./(1i.*C2.*w);
Z_eq=Zin*ZC2/(Zin+ZC2)
C2_sol=solve('Zeq-50=0',C2);
with the output:
Z_eq =
-(104857600*i*((878603275321697*i)/4398046511104 + 50*i*tan(2*pi*x) + 5))/(5270717853328913*C2*(tan(2*pi*x)*(5*i - 878603275321697/4398046511104) + 50)*((50*((878603275321697*i)/4398046511104 + 50*i*tan(2*pi*x) + 5))/(tan(2*pi*x)*(5*i - 878603275321697/4398046511104) + 50) - (2097152*i)/(5270717853328913*C2)))
Warning: Explicit solution could not be found.
> In solve at 170
In program_name at 13
[ empty sym ]
So, the solve command from the last line doesn't work. But if I copy the Z_eq output and paste it to solve the equation in the command line:
>> solve ('-(104857600*i*((878603275321697*i)/4398046511104 + 50*i*tan(2*pi*x) + 5))/(5270717853328913*C2*(tan(2*pi*x)*(5*i - 878603275321697/4398046511104) + 50)*((50*((878603275321697*i)/4398046511104 + 50*i*tan(2*pi*x) + 5))/(tan(2*pi*x)*(5*i - 878603275321697/4398046511104) + 50) - (2097152*i)/(5270717853328913*C2)))-50=0', C2)
ans =
((41505174165846491136*i)/26353589266644565 - tan(2*pi*x)*((921282308023723753472*i)/131767946333222825 - 41505174165846491136/26353589266644565) + 921282308023723753472/131767946333222825)/(878603275321697*i + 219902325555200*i*tan(2*pi*x) + 21990232555520)
Do I do something wrong? Is there an option which I forgot to mention in the .m program?
Thanks!

Accepted Answer

Andrew Newell
Andrew Newell on 5 Apr 2011
Change the last line to
C2_sol=solve(Z_eq-50,C2);
I think the problem is that solve determines what the symbolic variables are using symvar, and this is the output:
>> symvar('Z_eq-50=0')
ans =
'Z_eq'
In other words, it doesn't look inside Z_eq to find C2.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!