📄 ch2example2prg1.m
字号:
% ch2example2prg1.m
dt=1e-5; % 仿真采样间隔
R=1e3; % 电阻值
C=1e-6; % 电容量
T=5*1e-3; % 仿真区间从 -T 到 +T
t=-T:dt:T; % 计算的离散时刻序列
y(1)=0; % 电容电压初始值, 在时间小于零区间将保持不变
% 如果要仿真零输入响应, 可设置 y(1)=1 等非零值.
% ----输入信号设定:可选择: 零输入,阶跃输入,正弦输入,方波输入等----
x=zeros(size(t)); % 初始化输入信号存储矩阵
x=1*(t>=0); % 在0时刻的输入信号跃变为1, 即输入为阶跃信号.
% 如果要仿真零输入响应, 这里可设 x=0 即可
% x=sin(2*pi*1000*t).*(t>=0); % 这是从0时刻开始的1000Hz的正弦信号
% x=square(2*pi*500*t).*(t>=0); % 这是从0时刻开始的500Hz的方波信号
% 仿真开始, 注意: 设零时刻之前电路不工作, 系统状态保持不变
for k=1:length(t)
time=-T+k*dt;
if time>=0
y(k+1)=y(k)+1./(R*C)*(x(k)-y(k))*dt; %递推求解下一个仿真时刻的状态值
else
y(k+1)=y(k); % 在时间小于零时设电路断开,系统不工作
end
end
subplot(2,1,1);plot(t,x(1:length(t)));axis([-T T -1.1 1.1]);
xlabel('t');ylabel('input');
subplot(2,1,2);plot(t,y(1:length(t)));axis([-T T -1.1 1.1]);
xlabel('t');ylabel('output');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -