使用更多"自然"在Matlab MuPAD中操作分段步骤函数的形式?

时间:2015-01-02 13:00:37

标签: matlab symbolic-math mathematical-expressions mupad

我有单位步进功能:

u0:= piecewise([-infinity < t and t < 0,0],[0 < t and t < infinity,1]):

现在我想在某个时候绘制它:

T:=1:;
plot(u0|t=t-T/2);

这很有效。但是当我使用更自然的表达时:

T:=1:;
plot(u0(t-T/2));

它只是绘制原始的未移位步骤函数。

在绘制修改后的阶梯函数时,有没有办法使用更简单的形式?

1 个答案:

答案 0 :(得分:1)

我相信你称之为“更自然的形式”的原因&#34;不起作用,是因为u0尚未被定义为MuPad function/procedure。在这种情况下,您可以使用-> operator

创建一个过程
u0 := t -> piecewise([-infinity < t and t < 0, 0], [0 < t and t < infinity, 1]):

请注意,上述内容相当于u0 := t -> piecewise([t < 0, 0],[t > 0, 1]):(我假设您已经意识到您已离开0未定义)。然后你应该能够评估:

T := 1:
plot(u0(t-T/2))

由于u0现在是一个函数,因此使用evalAt运算符|的第一个表单必须更改为:

T := 1:
plot(u0(t)|t=t-T/2)