您的位置:首页 > 编程语言 > MATLAB

用MatLAB做电路课程设计

2009-09-30 13:21 239 查看
06年年底做的电路课程设计,当时第一次接触MatLAB,破老师一点都不给讲,只好自己一点点的学习总结。

题目现在已忘记了,只剩下程序了。

第一道题:

a=input('请输入节点数:') %输入节点个数
b=input('请输入支路数:') %输入支路个数
A=zeros(a-1,b) %创建元素全为零关联矩阵A、阻抗矩阵Z、电压源矩阵Us、电流源矩阵Is
Z=zeros(b,b)
Us=zeros(a,1)
Is=zeros(a,1)
for m=1:(a-1) %循环输入支路关系:关联且离开节点为+1、关联且进入节点为-1、无关联为0
for n=1:b
A(m,n)=input('请输入支路关系:') %将输入的数字循环代替A矩阵中的0元素
end
end
for k=1:b %循环输入各支路中的阻值,有电感应先消互感
fprintf('请输入第%g支路电阻:',k)
Z(k,k)=input('R=') %将输入的数字循环代替Z矩阵中的0元素
end
for k=1:b %循环输入各支路中的电压值
fprintf('请输入第%g支路电压:',k)
Us(k,1)=input('Us=') %将输入的数字循环代替Us矩阵中的0元素
end
for k=1:b %循环输入各支路中的电压值
fprintf('请输入第%g支路电流源数值:',k)
Is(k,1)=input('Is=') %将输入的数字循环代替Is矩阵中的0元素
end
r=input('请输入受控源个数:') %无受控源输入0
Y=Z' %导纳矩阵Y
if r==0 %无受控源情况
J=A*Is-A*Y*Us
Yn=A*Y*A'
Un=inv(Yn)*J %节点电压
U=A'*Un
I=Y*(U+Us)-Is %节点电流
else %多受控源情况
for t=1:r
control=input('请输入被控制支路:')
uncontrol=input('请输入控制支路:')
math=input('请输入受控系数:')
Y(control,uncontrol)=math %将输入的数字循环代替Y矩阵中的相应0元素
end
J=A*Is-A*Y*Us
Yn=A*Y*A'
Un=inv(Yn)*J %节点电压
U=A'*Un
I=Y*(U+Us)-Is %节点电流
end

注:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
输入节点数:3
输入支路数:5
输入支路关系:1 0 -1 1 0 -1 -1 0 0 1(每输入一个按一下回车,下同)
输入各支路中的电压值:0 0 5 0 0
输入各支路中的电流值:0 0 0 0 0(或直接按回车)
输入各支路中的电阻:1 1 1 1 1
输入受控源个数:1
输入被控制支路:2
输入控制支路:4
输入受控系数:2

第二道题:

clear
R=input('请输入电阻值R=:')
C=input('请输入电容值C=:')
L=input('请输入电感值L=:')
u0=input('请输入初始状态电压值u0:')
i0=input('请输入初试状态电流值i0:')
T=input('请输入时间常数T:')
M=R/2/L
N=1/L/C
t=0:T/100:T %设置步长与x轴范围
if R>2*sqrt(L/C) %过阻尼情况
O=abs(M*M-N)
s1=-M+sqrt(O) %两个特征值
s2=-M-sqrt(O)
uc=u0/(s1-s2)*(s1*exp(s2*t)-s2*exp(s1*t))+i0/C/(s1-s2)*(exp(s1*t)-exp(s2*t)) %电容电压
il=u0*s1*s2*C/(s1-s2)*(exp(s2*t)-exp(s1*t))+i0/(s1-s2)*(s1*exp(s1*t)-s2*exp(s2*t)) %电容电流
plot(t,uc,'k-',t,il,'b-') %输出并设置图像,黑色实线为Uc图像、蓝色实线为il图像
xlabel('时间t/s')
ylabel('电压 U/V 电流 I/A')
legend(['电容电压'],['电感电流'])
elseif R==2*sqrt(L/C) %临界阻尼情况
a=-M %特征值
uc=u0*(1+a*t).*exp(a*t)+i0/C*t.*exp(a*t) %电容电压
il=-u0*a*a*C*t*diag(exp(a*t))+i0*(1+a*t)*diag(exp(a*t)) %电容电流
plot(t,uc,'k-',t,il,'b-') %输出并设置图像,黑色实线为Uc图像、蓝色实线为il图像
xlabel('时间t/s')
ylabel('电压 U/V 电流 I/A')
legend(['电容电压'],['电感电流'])
else %欠阻尼情况
a=M %衰减系数
w0=sqrt(N) %固有振荡角频率
wd=sqrt(w0*w0-a*a) %衰减振荡角频率
k1=u0
k2=1/w0*(a*u0+i0/C)
k=sqrt(k1*k1+k2*k2)
r=atan(k1/k2)
uc=k*exp(-a*t).*sin(wd*t+r) %电容电压
il=-C*k*a*exp(-a*t).*sin(wd*t+r)+C*k*wd*exp(-a*t).*cos(wd*t+r) %电容电流
plot(t,uc,'k-',t,il,'b-') %输出并设置图像黑色实线为Uc图像、蓝色实线为il图像
xlabel('时间t/s')
ylabel('电压 U/V 电流 I/A')
legend(['电容电压'],['电感电流'])
end

注:
222222222222222222222222222222222222222222222222222222222222222222222222222222222222
输入电阻值R=???(过阻尼、临界阻尼、欠阻尼依次为:30、20、10)
输入电容值C=:0.004
输入电感值L=:0.4
输入初始状态电压值u0:6
输入初试状态电流值i0:
输入时间常数T:好像是0.6

第三道题:

P=input('请输入功率:')
U=input('请输入电压:')
w=input('请输入功率因数:')
C=input('请输入补偿电容:')
r1=acos(w) %初始相位差
b=tan(r1)-C*U*U*314/P
r=atan(b) %接入补偿电容后的相位差
w1=cos(r) %接入补偿电容后的功率因数
I=P/U/w %初始电流
I2=P/U/w1 %接入补偿电容后的电流
t=0:0.04:2 %设置步长与x轴范围
U0=U*cos(314*t*pi/180) %初始电压表达式
I0=I*cos(314*t*pi/180-r1) %初始电流表达式
U1=U0 %接入补偿电容后电压表达式
I1=I2*cos(314*t*pi/180+r) %接入补偿电容后电流表达式
subplot(2,1,1) %将当前图形窗口分为2行1列2个子图,指定一号图
plot(t,U0,'r-',t,I0,'b-') %输出图像,红色实线表示U0、蓝色实线表示I0
subplot(2,1,2) %将当前图形窗口分为2行1列2个子图,指定二号图
plot(t,U1,'r-',t,I1,'b-') %输出图像,红色表示U1、蓝色表示I1






注:
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
输入功率:10000

输入电压:220

输入功率因数:0.6

输入补偿电容:???(8.7733e-004是W1为1的情况,输入的应是小于、等于、大于该数三种情况)

第四道题:

R=2000 %初始电阻
C=0.00000005 %初始电感
U=10 %初始电压
f=2000 %初始频率
w=2*pi*f %角频率
t=0:0.001:0.1 %设置步长与x轴范围
U1=1/(j*w*C)/(R+1/(j*w*C))*40/pi %输出电压U中相应谐波的复数U1、U2、U3(取展开的谐波序列前三项)
U2=1/(3*j*w*C)/(R+1/(3*j*w*C))*40/pi
U3=1/(5*j*w*C)/(R+1/(5*j*w*C))*40/pi
c1=abs(U1) %取输出电压U中相应谐波的复数U1、U2、U3的绝对值
c2=abs(U2)
c3=abs(U3)
a1=real(U1) %取输出电压U中相应谐波的复数U1、U2、U3的实部
a2=real(U2)
a3=real(U3)
b1=imag(U1) %取输出电压U中相应谐波的复数U1、U2、U3的虚部
b2=imag(U2)
b3=imag(U3)
r1=asin(b1/c1) %各相位差
r2=asin(b2/c2)
r3=asin(b3/c3)
u1=c1*sin(w*t*pi/180+r1) %在展开的谐波序列前三项电压作用下的电感电压
u2=c2*sin(3*w*t*pi/180+r2)
u3=c3*sin(5*w*t*pi/180+r3)
U=u1+u2+u3 %电感电压
plot(t,U'b-') %输出图像,以蓝色实线输出
xlabel('wt')
ylabel('电压 U')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: