>> fplot(fh,[-2 4])
??? Undefined function or variable "e".
Error in ==> myfun at 3
Y(:,2) = e(:).^x;
Error in ==> fplot at 102
x = xmin; y = feval(fun,x,args{4:end});
我尝试使用这个m文件绘制两个函数。
function Y = myfun(x)
Y(:,1) = 3*x;
Y(:,2) = e(:).^x;
答案 0 :(得分:1)
正如Donnie在评论中提到的,变量e
在您的m文件中未定义。
如果您已在其他位置定义e
,则必须将其传递给myfun
,以便该函数知道其值。由于fplot
不接受具有多个输入值的绘图函数,因此您需要将其传递给匿名函数。
首先,您需要更改myfun
的定义以包含e
作为输入:
function Y = myfun(x,e)
Y(:,1) = 3*x;
Y(:,2) = e(:).^x;
然后,你创建你的函数句柄fh(fh仍然只接受一个输入,Matlab使用e
的值,因为它是在你创建函数句柄时在工作区中定义的):
fh = @(x)(myfun(x,e))
最后,您可以像以前一样调用fplot
fplot(fh,[-2 4])