将两个函数相互相乘(matlab)

时间:2014-03-20 00:49:56

标签: matlab

我正在尝试将两个函数相互相乘并绘制结果。但我得到一个空虚的人物! 如果我像这样绘制每个函数,这两个函数都可以正常工作:

  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]) 

1 个答案:

答案 0 :(得分:3)

当您使用@(...) ...语法时,MATLAB会生成一个匿名函数,将括号内的参数列表视为输入。这些变量的范围仅限于匿名函数。在调用该函数并传入有效输入之前,不会对该函数进行求值。

在你的情况下,y3是一个函数句柄。您需要使用plot(x,y3(x))之类的内容来实际评估数组y3中点的函数x