使用feval调用grad函数时提示输入参数不足的问题求助
Matlab函数调用错误排查:输入参数不足问题
错误原因
feval的第一个参数必须是函数句柄或函数名的字符串。你直接传入grad时,Matlab会将其当作未定义变量,而非要调用的函数,导致grad函数没有接收到输入参数x,触发“输入参数不足”错误。
解决方法
有两种方式修正调用代码:
方式一:使用函数句柄
在函数名前加@创建函数句柄,传递给feval:x = [4;2;-1]; feval(@grad,x)方式二:使用函数名字符串
直接传入函数名的字符串形式:x = [4;2;-1]; feval('grad',x)
更简洁的调用方式
其实Matlab中无需通过feval,直接调用函数更直观:
x = [4;2;-1]; grad(x)
内容的提问来源于stack exchange,提问作者vvvvvvvvv
相关产品推荐
相关产品推荐

