用MatLAB做电路课程设计

来源:互联网 发布:微信淘宝神器是真的吗 编辑:程序博客网 时间:2024/04/29 15:40

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')

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 安装时显示程序已关闭怎么办 电脑一直重启开不了机怎么办 应用安装在sd卡打不开怎么办 安装ps打不开安装包怎么办 安装好的软件打不开怎么办? win10系统语言修改不了怎么办 一个月婴儿吵夜怎么办 玩游戏一直闪退怎么办 钱站一直闪退怎么办 win7重装连不上网怎么办 笔记本屏幕横过来了怎么办 3D贴图丢了怎么办 百度文库安装后手机打不开怎么办 win7系统不带usb驱动怎么办 手机网页上的pdf打不开怎么办 网页下载pdf后缀是.do怎么办 ps界面太小怎么办win10 ps软件打不开程序错误怎么办 ps打开后 未响应怎么办 ps图层无法解锁怎么办 ie8浏览器电脑不能用怎么办 系统要ie6.0才能打开怎么办 2g手机内存不够怎么办 2g运行内存不够怎么办 手机运行内存2g不够怎么办 手机无法加载程序秒退怎么办 电脑账户密码忘记了怎么办 玩绝地求生卡顿怎么办 地下城总运行时间错误怎么办 逆战更新太慢怎么办 win7我的电脑没了怎么办 剑灵启动游戏慢怎么办 网页页面结束进程也关不掉怎么办 开机就启动微信怎么办 微信突然无法启动怎么办 微信发送太频繁怎么办 微信在电脑上打不开文件怎么办 微信照片电脑上打不开怎么办 换一部手机微信怎么办 微信支付宝停止运行怎么办 剑三重制版卡顿怎么办