poster
2019-12-10, 20:41
>> 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;
回答:
正如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])
更多&回答... (https://stackoverflow.com/questions/2936164)
function Y = myfun(x) Y(:,1) = 3*x; Y(:,2) = e(:).^x;
回答:
正如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])
更多&回答... (https://stackoverflow.com/questions/2936164)