武汉理工复试上机练习———(一)信号与系统

二、连续系统的响应求解

MATLAB代码:

Matlab 复制代码
% 电路参数定义
L = 22e-3;          % 电感 L = 22 mH
C = 2e-9;           % 电容 C = 2 nF
R = 100;            % 电阻 R = 100 Ω

% 构建传递函数 H(s) = 1 / (L*C*s^2 + R*C*s + 1)
% 分子系数:b = 1(常数)
% 分母系数:a = [L*C, R*C, 1] 对应 s^2, s^1, s^0 项
a = [L*C, R*C, 1];
b = 1;

% 时间向量定义:从 0 到 1 ms,步长 1 μs(确保足够精细)
t = 0 : 1e-6 : 10e-4;   % 等价于 0:1e-6:1e-3

% 计算冲激响应 h(t)(使用 impulse 函数,系统由分子 b 和分母 a 描述)
ht = impulse(b, a, t);

% 计算阶跃响应 g(t)(使用 step 函数)
gt = step(b, a, t);

% 创建 1 行 2 列的子图,绘制冲激响应
subplot(1, 2, 1);
plot(t, ht, 'LineWidth', 1.5);      % 绘制曲线,线宽 1.5
grid on;                            % 显示网格
xlabel('时间 t (s)');                % x 轴标签
ylabel('幅度 h(t)');                 % y 轴标签
title('冲激响应');                   % 图形标题

% 绘制阶跃响应
subplot(1, 2, 2);
plot(t, gt, 'LineWidth', 1.5);      % 绘制曲线,线宽 1.5
grid on;                            % 显示网格
xlabel('时间 t (s)');                % x 轴标签
ylabel('幅度 g(t)');                 % y 轴标签
title('阶跃响应');                   % 图形标题

运行结果:

2. 用仿真函数 lsim 计算连续系统的零状态响应。

已知系统的微分方程为:

系统的输入信号为: f (t) =10sin(2*pi*t), 求其零状态响应。

MATLAB代码:

Matlab 复制代码
% 时间参数设置
ts = 0;                 % 起始时间 (s)
te = 5;                 % 结束时间 (s)
dt = 0.01;              % 采样步长 (s),决定了时间分辨率
t = ts : dt : te;       % 生成时间向量,从0到5秒,步长0.01秒

% 系统传递函数 H(s) = 1 / (s^2 + 2s + 100) 的系数
% 分子多项式系数:b = [1] 对应 1
b = [1];                % 分子系数(按s降幂排列)
% 分母多项式系数:a = [1, 2, 100] 对应 s^2 + 2s + 100
a = [1, 2, 100];        % 分母系数(按s降幂排列)

% 输入信号:幅度为10,频率为1 Hz的正弦波
f = 10 * sin(2 * pi * t);   % 输入激励信号 f(t) = 10 sin(2πt)

% 计算零状态响应 y(t)
% lsim 函数用于仿真任意输入下的线性系统响应
% 参数:系统系数 b, a,输入信号 f,时间向量 t
y = lsim(b, a, f, t);       % 得到零状态响应

% 绘制响应曲线
plot(t, y, 'LineWidth', 1.5);   % 线宽设为1.5使曲线更清晰
xlabel('t / s');                 % x轴标签:时间(秒)
ylabel('y_{zs}(t)');             % y轴标签:零状态响应
title('零状态响应');              % 图形标题
grid on;                         % 显示网格,便于读取数值

运行结果:

练习:已知某连续时间系统的微分方程为:r′′(t)+2r′(t)+r(t)=e′(t)+2e(t)求当输入信号为 e(t)=e^−2tε(t) 时,该系统的零状态响应 r(t)。

MATLAB代码:

Matlab 复制代码
% 清空环境
clear; clc; close all;

% 时间向量定义 (0 到 10 秒,步长 0.01 秒)
t = 0 : 0.01 : 10;

% 输入信号 e(t) = exp(-2t) * u(t)
e_t = exp(-2 * t) .* (t >= 0);   % 阶跃用逻辑表达式实现

% 系统传递函数 H(s) = (s + 2) / (s^2 + 2s + 1)
num = [1, 2];                     % 分子系数:s + 2
den = [1, 2, 1];                  % 分母系数:s^2 + 2s + 1
sys = tf(num, den);                % 创建连续时间传递函数模型

% 使用 lsim 计算零状态响应(数值解)
r_num = lsim(sys, e_t, t);

% 解析解 r(t) = t * exp(-t) * u(t)
r_ana = t .* exp(-t) .* (t >= 0);

% 绘制输入信号
figure;
subplot(2,1,1);
plot(t, e_t, 'LineWidth', 1.5);
xlabel('时间 t (s)');
ylabel('e(t)');
title('输入信号 e(t) = e^{-2t} u(t)');
grid on;

% 绘制零状态响应(数值解与解析解对比)
subplot(2,1,2);
plot(t, r_num, 'b-', 'LineWidth', 1.5); hold on;
plot(t, r_ana, 'r--', 'LineWidth', 1.5);
xlabel('时间 t (s)');
ylabel('r(t)');
title('零状态响应 r(t)');
legend('数值解 (lsim)', '解析解 t e^{-t}');
grid on;

运行结果:

相关推荐
Love Song残响2 小时前
MATLAB疑难杂症全攻略:从报错到优化
开发语言·matlab
Yungoal2 小时前
雷达仿真0-FMCW技术
matlab
阿杰嵌入式2 小时前
MATLAB MAB 5.0建模规范-Stateflow规范 第3部分(详细)
matlab
崇山峻岭之间4 小时前
matlab的FOC仿真
开发语言·matlab
机器学习之心5 小时前
GA-SVR遗传算法优化支持向量机回归+SHAP分析+新数据预测,MATLAB代码
支持向量机·matlab·回归·shap分析·新数据预测·ga-svr·遗传算法优化支持向量机回归
阿杰嵌入式5 小时前
MATLAB MBD建模规范(MAB 5.0) 漫谈
matlab
阿杰嵌入式6 小时前
MATLAB MAB 5.0建模规范专栏阅读-总目录
matlab
bubiyoushang8886 小时前
基于PSO的列车速度优化MATLAB实现
开发语言·人工智能·matlab
彬鸿科技7 小时前
bhSDR Studio/Matlab入门指南(七):单波束图传收发实验界面全解析
人工智能·matlab·sdr·软件定义无线电