Getting the error: Solution does not exist because the system is inconsistent.
Show older comments
Hello, I am trying to do nodal anlysis of a power amplifier circuit but somehow I get an error. My code goes as follows:
syms Vplus Vmin Vi Vo V1;
syms w;
Vi=18;
R1= 220000;
C1= (810^-6);
R2=1000;
R3=20000;
C2=(20010^-12);
R4=1000;
C3=(27010^-6);
R5=24000;
eqns = [Vi(1/R1 + 1iwC1) - V1(1iwC1)==0,
V1(1iwC1 + (1/R2) + (1/R3)) - Vi(1iwC1)- Vplus(1/R3)==0,
Vplus(1/R3 + 1iwC2 + 1/(10^12)) - V1(1/R3) - Vmin(1/(10^12)) ==0,
Vmin(1/(10^12) + ((1iwC3)/(R41iwC3+1)) + 1/R5) - Vplus(1/(10^12)) - Vo(1/R5)==0,
Vo( 1/R5 + 1/125) - Vmin(1/R5) - (10^6)Vi(1/125)==0];
[A,b] = equationsToMatrix(eqns,[V1, Vplus, Vmin, Vo]);
vars = symvar(eqns);
X = linsolve(A,b);
Vo = X(4);
T = (Vo/Vi);
f = logspace(1,1000000);
T = subs(T, w, 2pi*f);
H = abs(T);
The error log says:
>> PowerAmplifierMatLab
Warning: Solution does not exist because the system is inconsistent.
In symengine
In sym/privBinaryOp (line 1034)
In sym/linsolve (line 63)
In PowerAmplifierMatLab (line 19)
I don't know what I am doing wrong and why the system is inconsistent. Can anyone help me? Thanks in advance.
Answers (1)
Walter Roberson
on 11 Jan 2021
0 votes
MATLAB has absolutely no implied multiplication. () always means one of the following:
- grouping for precedence
- indexing an array
- parameters for a function call
A(B) never indicates A multiplied by B.
Categories
Find more on Assumptions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!