Help needed to calculate complex voltage

조회 수: 8 (최근 30일)
Justin Goh
Justin Goh 2017년 2월 27일
편집: Justin Goh 2017년 2월 28일
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

답변 (1개)

Stalin Samuel
Stalin Samuel 2017년 2월 27일
  • 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 CenterFile Exchange에서 Sensors and Transducers에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by