Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab错误-fplot();

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

更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 21:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.