Matlab Error- fplot();

时间:2010-05-29 18:34:24

标签: matlab plot

>> 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;

1 个答案:

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