使用Matlab符号工具箱导出dirac delta函数

时间:2015-11-14 11:23:20

标签: matlab

我是matlab的新手。我不明白如何导出dirac delta函数然后使用符号工具箱移动它。

syms t
x = dirac(t)

为什么我不能使用ezplot(x,[-10,10])看到dirac delta函数?

2 个答案:

答案 0 :(得分:3)

正如其他人所说,Dirac delta function不是真正的功能,而是generalized functiondirac的帮助表明了这一点:

  

dirac (X)在严格意义上不是一个功能,而是一个
  用int分布(dirac(x-a)* f(x), - inf,inf)= f(a)和
  diff(重质(x),x)= dirac(x)。

严格地说,Matlab不可能以正常方式绘制狄拉克三角函数,因为它的一部分延伸到无穷大。但是,如果您想要可视化,则有许多变通方法。一个简单的方法是使用stem绘图函数和>运算符将一个Inf值转换为有限值。这会产生单位脉冲函数(或Kronecker delta):

t = -10:10;
x = dirac(t) > 0;
stem(t,x)

stem plot

如果tx已作为符号变量/表达式而非数字变量/表达式存在,则可以使用subs

syms t
x = dirac(t);
t2 = -10:10;
x2 = subs(x,t,t2)>0;
stem(t2, x2)

如果你想要看起来不同的东西,你可以编写自己的情节例程。使用ezplot不太可能,因为它没有提供那么多的控制。

答案 1 :(得分:1)

首先,我之前没有见过ezplot;我不得不读它。对于像x这样功能的东西,它很方便,但你仍然必须意识到它正是给你的承诺:一个情节。

如果您有绘制狄拉克三角函数的工作,您将如何正确地进行?你不能。你必须找到一个注释你的情节的约定,其中包含你的情节中有一个孤立的无限点的信息。

用线图绘制某些东西因此不适用于除平滑函数之外的任何东西(这是一个明确定义的术语)。狄拉克三角洲绝对不是一流的功能。您通常会使用垂直线或其他东西来表示功能不是0的点。