我有单位阶跃函数:
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));
它只是绘制了原始的未移位阶跃函数。
在绘制修改后的阶跃函数时,有什么方法可以使用更简单的形式?
我有单位阶跃函数:
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));
它只是绘制了原始的未移位阶跃函数。
在绘制修改后的阶跃函数时,有什么方法可以使用更简单的形式?
我相信你所说的“更自然的形式”不起作用的原因是因为u0
没有被定义为MuPad 函数/过程。->
在这种情况下,您可以使用运算符创建一个过程:
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)