我正在尝试将两个函数相互相乘并绘制结果。但我得到一个空虚的人物! 如果我像这样绘制每个函数,这两个函数都可以正常工作:
plot(x,ramp3(x))
hold on
plot(x,unitStep(3-x))
这是我的代码:
clear all
clc
x=0:0.001:20;
y3=@(x) ramp3(x).*unitStep(3-x);
plot(x,y3)
axis([-4 4 -2 2])
答案 0 :(得分:3)
当您使用@(...) ...
语法时,MATLAB会生成一个匿名函数,将括号内的参数列表视为输入。这些变量的范围仅限于匿名函数。在调用该函数并传入有效输入之前,不会对该函数进行求值。
在你的情况下,y3
是一个函数句柄。您需要使用plot(x,y3(x))
之类的内容来实际评估数组y3
中点的函数x
。