用 MATLAB 产生单位抽样序列、单位阶跃序列、矩形序列、正弦序列和复指数序列

matlab 复制代码
%% 单位抽样(脉冲)序列(冲激函数)
% 参数设置
n = -10:10; % 定义时间范围
delta = (n == 0); % 生成单位抽样序列

% 绘图
figure;
stem(n, delta);
title('单位抽样序列');
xlabel('n');
ylabel('delta[n]');

%% 单位阶跃序列
% 参数设置
n = -10:10; % 定义时间范围
u = (n >= 0); % 生成单位阶跃序列

% 绘图
figure;
stem(n, u);
title('单位阶跃序列');
xlabel('n');
ylabel('u[n]');

%% 矩形序列
% 参数设置
n = -10:10; % 定义时间范围
rect = (n >= -5) & (n <= 5); % 生成矩形序列

% 绘图
figure;
stem(n, rect);
title('矩形序列');
xlabel('n');
ylabel('rect[n]');

%% 正弦序列
% 参数设置
n = 0:50; % 定义时间范围
A = 1; % 振幅
f = 0.1; % 频率
sin_seq = A * sin(2 * pi * f * n); % 生成正弦序列

% 绘图
figure;
stem(n, sin_seq);
title('正弦序列');
xlabel('n');
ylabel('sin[2πfn]');

%% 复指数序列
% 参数设置
n = 0:50; % 定义时间范围
a = 0.9; % 幅度衰减系数
f = 0.1; % 频率
complex_seq = a.^n .* exp(1i * 2 * pi * f * n); % 生成复指数序列

% 绘图
figure;
stem(n, real(complex_seq)); % 绘制实部
hold on;
stem(n, imag(complex_seq)); % 绘制虚部
hold off;
title('复指数序列');
xlabel('n');
ylabel('Re & Im');
legend('实部','虚部');

注:stem 函数是 MATLAB 中绘制离散时间序列和其他离散数据的有用工具,特别是在信号处理和通信系统分析中。

相关推荐
计算机安禾几秒前
【数据结构与算法】第28篇:平衡二叉树(AVL树)
开发语言·数据结构·数据库·线性代数·算法·矩阵·visual studio
csbysj202018 分钟前
网站主机技术概述
开发语言
froginwe1125 分钟前
jQuery 事件方法详解
开发语言
echome8881 小时前
JavaScript Promise 与 async/await 实战:5 个高频异步编程场景的优雅解决方案
开发语言·javascript·ecmascript
道清茗1 小时前
【MySQL知识点问答题】高级复制技术
数据库·mysql
IT邦德1 小时前
Oracle备份恢复概览
数据库·oracle
User_芊芊君子1 小时前
别再乱用 ArrayList 了!这 4 个隐藏坑,90% 的 Java 开发者都踩过
android·java·数据库
xcLeigh1 小时前
IoTDB Java 原生 API 实战:SessionPool 从入门到精通
java·开发语言·数据库·api·iotdb·sessionpool
杜子不疼.1 小时前
Java 智能体学习避坑指南:3 个常见误区,新手千万别踩,高效少走弯路
java·开发语言·人工智能·学习
冬天vs不冷2 小时前
为什么 Java 不让 Lambda 和匿名内部类修改外部变量?final 与等效 final 的真正意义
android·java·开发语言