📄 q504.m
字号:
%《MATLAB及在电子信息课程中的应用》第五章例5.4程序q504
% 一阶电路开关的暂态计算
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月初版,2003年7月第二版
%
% 电路暂态
clear,format compact
r1=3;us=18;is=3;r2=12;r3=6;C=1; % 给出原始数据
uc0=-12;ir20=uc0/r2;ir30=uc0/r3; % 算出初值ir20及uc0
ic0=is-ir20-ir30;
ir2f=is*r3/(r2+r3); % 算出终值ir2f及ucf
ir3f=is*r2/(r2+r3);
ucf=ir2f*r2; icf=0;
% 注意时间数组的设置,在t=0及10附近设两个点
t=[-2,-1,0-eps,0+eps,1:9,10-eps,10+eps,11:20]; % 这语句与书上不同,已修改.
% 原语句t=[-2-eps:0-eps,0:9,10-eps,10+eps,11:20];只适用于MATLAB5.3以下版本.
figure(1),plot(t),grid,pause % 找出时间与数组下标的关系,t=10+eps对应下标15
set(gcf,'color','w') % 设置图形背景色为白色
uc(1:3)=-12;ir2(1:3)=3; % t<0时的值
T = r2*r3/(r2+r3)*C; % 求充电时常数
uc(4:14)=ucf+(uc0-ucf)*exp(-t(4:14)/T); %
ir2(4:14)=ir2f+(ir20-ir2f)*exp(-t(4:14)/T); % 用三要素法求输出
uc(15)=uc(14);ir2(15)=is; % 求t=10+eps时的各初值
ucf2=-12;ir2f=is; % 求uc和ir2在新区间终值ucf2和ir2f
T2=r1*r3/(r1+r3)*C; % t=10+eps到t=20区间的时常数
uc(15:25)=ucf2+(uc(15)-ucf2)*exp(-(t(15:25)-t(15))/T2); % 再用三要素法求输出
ir2(15:25)=is;
figure(2),subplot(2,1,1);h1=plot(t,uc); % 绘uc图
set(gcf,'color','w') % 设置图形背景色为白色
grid,set(h1,'linewidth',3) % 加大线宽
subplot(2,1,2),h2=plot(t,ir2); % 绘ir2图
grid,set(h2,'linewidth',3)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -