首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Matlab fplot:输入参数不足

Matlab fplot:输入参数不足
EN

Stack Overflow用户
提问于 2018-09-04 01:56:25
回答 1查看 585关注 0票数 1

我刚刚开始学习Matlab,我一直在四处寻找解决方案。

基本上,我只需要绘制一个函数,然后在后面的问题中对其进行更多的操作。

代码语言:javascript
复制
fplot(@(x) myfunc);

function y = myfunc(x)
    y = (x^3) - (4 .* x^2) - 1
end

产生此错误

代码语言:javascript
复制
Warning: Function behaves unexpectedly on array inputs. To improve performance,
properly vectorize your function to return an output with the same size and shape as
the input arguments. 
> In matlab.graphics.function.FunctionLine>getFunction
  In matlab.graphics.function.FunctionLine/updateFunction
  In matlab.graphics.function.FunctionLine/set.Function_I
  In matlab.graphics.function.FunctionLine/set.Function
  In matlab.graphics.function.FunctionLine
  In fplot>singleFplot (line 234)
  In fplot>@(f)singleFplot(cax,{f},limits,extraOpts,args) (line 193)
  In fplot>vectorizeFplot (line 193)
  In fplot (line 163)
  In HWA1_2 (line 1) 
Warning: Error updating FunctionLine.

 The following error was reported evaluating the function in FunctionLine update: Not
 enough input arguments.

当我单独使用fplot时,它可以正常工作。

代码语言:javascript
复制
fplot((x^3)-(4*x^2)-1)

如果有人能指出我做错了什么,我将不胜感激。我之所以需要将它定义为一个函数,是因为以后我需要对它进行更多的操作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-04 02:22:24

问题出在你调用fplot的语法,而不是你的函数。如果要传递一个简单的函数句柄,只需使用:

代码语言:javascript
复制
fplot(@myfunc)

您使用的语法是如何创建anonymous function的,但是您忘记在等式中包括x。您也可以像这样编写它,并获得相同的结果:

代码语言:javascript
复制
fplot(@(x) myfunc(x))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52154429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档