首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MATLAB绘制矩形窗口函数(u[n]-u[n-5])的方法

用MATLAB绘制矩形窗口函数(u[n]-u[n-5])的方法
EN

Stack Overflow用户
提问于 2021-03-04 04:55:40
回答 3查看 716关注 0票数 1

我试图在MATLAB中绘制矩形窗口函数图,用于:

代码语言:javascript
复制
x[n] = u[n] - u[n-5]

我已经为同样的情况编写了以下MATLAB代码:

代码语言:javascript
复制
x = [ones(1,5), zeros(1,43)]

但是,这只适用于图上特定数目的点(对于这个图的ex: 48点)

我想问,在MATLAB中,是否有更好的方法来绘制离散时间信号的矩形窗口函数图?谢谢你的帮助:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-04 14:47:54

打电话给你的信号y

代码语言:javascript
复制
x = [ones(1, 5), zeros(1, length(y) - 5)];
票数 2
EN

Stack Overflow用户

发布于 2021-03-04 09:14:29

您可能希望为此创建一个函数:

代码语言:javascript
复制
x=@(n)double(floor(n)==ceil(n)&n>=0&n<=4);

nn=(-4:24)/4;
subplot(211);
stem(nn,x(nn));
subplot(212);
stem(nn,x(nn-1));

注意,x()为非整数n返回0,这可能是明智的,也可能不合理,这取决于您如何使用该函数。

票数 2
EN

Stack Overflow用户

发布于 2021-03-04 16:22:09

使用匿名函数/函数句柄

要创建具有单位步长函数的离散图,我通常喜欢事先声明单元步骤,并在较大的函数中使用该步骤。在这里,我使用匿名函数/函数句柄,这些函数句柄由保存输入参数的@()指示。在这种情况下,唯一的输入参数是n。然后,向量N可以传递给x(),它将分别绘制所有的x[n]值。Density可以用来播放所绘制的茎数以及Start_IndexEnd_Index

代码语言:javascript
复制
Start_Index = -10;
End_Index = 10;
Density = 1;
N = (Start_Index:Density:End_Index);

%Unit step function%
u = @(n) 1.0.*(n >= 0);

x = @(n) u(n) - u(n-5);

stem(N,x(N));
title('x[n] = u[n] -  u[n-5]');
xlabel('[n]'); ylabel('x[n]'); 
ylim([0 1.1]);
grid on
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66468802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档