matlab 中 U(n-10)这个阶跃函数怎么表示?

2024年11月20日 10:38
有2个网友回答
网友(1):

1、调用Heaviside(t)函数

在MATL AB的Symbolic Math Toolbox中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。

2、数值计算法

在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数et。其调用格式为:stepfun(t,t0)。其中,t是以向量形式表示的变量,to 表示信号
发生突变的时刻,在to以前,函数值小于零,to以后函数值大于零。

有趣的是它同时还可以表示单位阶跃序列e(k),这只要将自变量以及取样间隔设定为整数即可达到stepfun( )函数来表示单位阶跃函数。


扩展资料

从物理角度讲,引入单位阶跃函数一是为了解决单位冲激函数(狄拉克Delta函数)的积分;二是系统在输入信号激励下的响应问题中,为了区分信号加入系统前后两个时点。

信号加入系统开始起作用的时点称为“0时刻”后沿,记为0+,t=0+,就是t>0;输入信号要加而未加入的时点称为0时刻前沿,记为0-,t=0-,就是t<0。

因而物理上一般不介入(0- ,0+)时区,因为这个时区内说不清输入信号到底加入系统了没有,实际上这个时区的宽度也不定,数学上可以认为它趋于0。于是单位阶跃函数在自变量为0处,即(0-,0+)区间上的值不予定义。这就是物理上采用第一种定义的缘故。

参考资料来源:

百度百科——heaviside

百度百科——单位阶跃响应

网友(2):

阶跃函数的命令是heaviside

此命令得到的值在0处是一个“非数”NaN

clear all;clc;
n=-5:25;
fn=heaviside(n-10);
plot(n,fn,'.r','Markersize',15);grid on;hold on;

 

如果你想自己定义n=10处的数值,比如0.5

倒是可以画图,但命令实际给不出来的。也不合规矩的,是吧。

只是给你说一下。后面可以加一句:

plot(10,0.5,'.r','Markersize',15);