Empty sym: 0-by-1 : Don't understand why
44 views (last 30 days)
Show older comments
Benoît
on 11 Nov 2024 at 15:43
Commented: Benoît
on 11 Nov 2024 at 19:29
Hi,
I have the following problem :
I would like to solve this equation system but matlab doesn't find any solutions by sending the following message : Empty sym: 0-by-1
Do i need to adapt the code in a certain way or this system really doesn't have any solutions ?
Thank you for your help.
Regards,
Benoit
2 Comments
Bruno Luong
on 11 Nov 2024 at 16:09
Edited: Bruno Luong
on 11 Nov 2024 at 18:31
Why there is the comma?
3,981
Post your code (using Insert a Line of Code button) not the screen shot
Walter Roberson
on 11 Nov 2024 at 18:15
The comma is causing the problem. You are effectively creating four equations,
3
981==EXPRESSION
10*pi==EXPRESSION
6283185.307==EXPRESSION
The first of those expressions, 3, cannot be solved to be equal to zero, so the solve() fails.
Accepted Answer
Torsten
on 11 Nov 2024 at 18:56
Edited: Torsten
on 11 Nov 2024 at 19:20
I multiplied by the denominators and squared to get rid of the square roots.
Your system seems to have 4 (complex-valued) solutions.
syms Cs C2 Rl
R1 = 1000;
gm = 10;
eqns = [3.981*(gm*(2*Rl*C2+R1*Cs)+Cs) == gm*Rl*Cs*(1-gm*R1),...
(10*pi*(gm*(2*Rl*C2+R1*Cs)+Cs))^2==2*gm*Rl*C2*Cs*(gm*R1+1),...
6283185.307^2*(Rl*C2*Cs*(1+R1*gm))==2*gm];
S = solve(eqns,[Cs C2 Rl]);
format long
double(S.Cs)
double(S.C2)
double(S.Rl)
eqns_orig = [3.981 == gm*Rl*Cs*(1-gm*R1)/(gm*(2*Rl*C2+R1*Cs)+Cs),...
10*pi==(2*gm*Rl*C2*Cs*(gm*R1+1))^(1/2)/(gm*(2*Rl*C2+R1*Cs)+Cs),...
6283185.307==(2*gm/(Rl*C2*Cs*(1+R1*gm)))^(1/2)];
for i = 1:4
double(subs(eqns_orig,[Cs C2 Rl],[S.Cs(i) S.C2(i) S.Rl(i)]))
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!