- The result of (j*w0*C) has the size of 7x6 matrix
- But G is a 7x7 matrix
- So you are getting dimension mismatch error
Help needed to calculate complex voltage
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to calculate the complex voltage and a magnitude plot for a circuit with my code. However I am not generating the plot as expected (plot should look like a bode plot) and am not sure what I am doing wrong. Below is the code I have as well as the code for the function I am using in my main code.
%%Main code
rs = 4000
r1 = 8000
r2 = 4000
re = 3300
rc = 6000
rl = 4000
r0 = 103500
rpi = 2610
c1 = 1*10^(-6)
c2 = 1*10^(-6)
ce = 10*10^(-6)
cpi = 17*10^(-12)
cmew = 2.5*10^(-12)
gm = 38.5*10^(-3)
Vg = 1
G = [(1/rs),(-1/rs), 0, 0, 0, 0, 1;...
(-1/rs), (1/rs), 0, 0, 0, 0, 0;...
0, 0, ((1/r1)+(1/r2)+(1/rpi)), (-1/rpi) 0, 0, 0;...
0, 0, ((-1/rpi)-gm), ((1/rpi)+(1/r0)+gm+(1/re)),((-1/r0)), 0, 0;...
0, 0, gm,((-1/r0)-gm), ((1/r0)+(1/rc)), 0, 0;...
0, 0, 0, 0, 0,(1/rl), 0;...
1, 0, 0, 0, 0, 0, 0]
C = [0, 0, 0, 0, 0, 0, 0;...
0, c1, -c1, 0, 0, 0, 0;...
0, -c1, (c1+cmew+cpi), -cpi, -cmew, 0, 0;...
0, 0, -cpi, (ce+cpi), 0, 0, 0;...
0, 0, -cmew, 0, (c2+cmew), -c2, 0;...
0, 0, 0, 0, -c2, c2, 0;...
0, 0, 0, 0, 0, 0, 0]
w = [0;0;0;0;0;0;Vg]
a = [1 2 3 4 5 6 7 8 9];
z = [a 10*a 100*a 1000*a 10000*a 100000*a 1000000];
[magnitude,phase] = bode1(G,C,w,z)
end
%%Function for [magnitude,phase] = bode1(G,C,w,z)%%
function [mag,phase] = bode1(G,C,w,z)
for n = 1:length(z)
w0 = z(n)*2*pi;
A = G+(j*w0*C);
x = w'*inv(A);
t = abs(x);
i =(180/pi)*angle(x);
if n == 1
magnitude = t;
phas = i;
else
magnitude = [magnitude t];
phas = [phas i];
end
[m1, n1] = size(magnitude);
[m2, n2] = size(phas);
mag(1:m1,1:n1,n) = magnitude(:,:);
phase(1:m2,1:n2,n) = phas(:,:);
end
end
0 Kommentare
Antworten (1)
Stalin Samuel
am 27 Feb. 2017
0 Kommentare
Siehe auch
Kategorien
Mehr zu Sensors and Transducers finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!