"Struct contents reference from a non-struct array object" error in fzero
显示 更早的评论
A bit of background: I have a few versions of Matlab on my computer (2012a and 2014a). I recently started having problems with commands that used to work, an example being fzero. When I run it, I get the error "Struct contents reference from a non-struct array object." Strangely, this happens both on my primary version (2014a) and backup version (2012a). I also installed 2016a to test it and it's also giving the same error.
>> X = fzero(@(x) sin(3*x),2)
Struct contents reference from a non-struct array object.
Error in fzero (line 167)
error(message(errStruct.identifier));
Does anyone have any idea what's going on or how to fix this?
1 个评论
Adam
2016-10-26
What does
which -all sin
show?
采纳的回答
更多回答(1 个)
Jan
2016-10-26
0 个投票
You can set a breakpoint in the "[FunFcn,errStruct] = fcnchk(..." line of fzero (should be line ~165 - I have another Matlab version). Then step into fcnchk and check, what's going on there. It this the function inside the folder \funfun\ ?
If not, it is most likely a user-defined function (as Steven has mentioned before). Avoid shadowing built-in function and add user-defined paths at the bottom of the Matlab path only. See http://de.mathworks.com/matlabcentral/fileexchange/27861-uniquefuncnames for a tool to identify user-defined functions, which accidently shadow builtin functions.
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!