Matlab错误-fplot();

Matlab错误-fplot();,matlab,plot,Matlab,Plot,我试图用这个m文件绘制两个函数 >> 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}); 正如Donnie在他们的评论中提到的,变量e在您的m文件中没有定义 如果在别处定义了e,则必须将其传递给

我试图用这个m文件绘制两个函数

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

正如Donnie在他们的评论中提到的,变量
e
在您的m文件中没有定义

如果在别处定义了
e
,则必须将其传递给
myfun
,以便函数知道其值。由于
fplot
不接受具有多个输入值的打印函数,因此需要向其传递匿名函数

首先,您需要更改
myfun
的定义,将
e
作为输入:

function Y = myfun(x)
Y(:,1) = 3*x;
Y(:,2) = e(:).^x;
然后,像这样创建函数句柄fh(fh仍然只接受一个输入,Matlab使用创建函数句柄时在工作区中定义的
e
):

最后,你可以像以前一样给fplot打电话

fh = @(x)(myfun(x,e))

您似乎在使用向量
e(:)
,但没有实际定义它。问题已解决。但是有人能告诉我们如何在图形上直观地获取根吗?在图形窗口中,单击数据光标并从数据提示中读取根的x值,如下所示:
fh = @(x)(myfun(x,e))
fplot(fh,[-2 4])